Здесь я пытаюсь создать-структуру с key[2*d]
и ptr[2*d+1]
, но компилятор дает ошибку с этими строками кода только говоря:с использованием глобальных переменным дают ошибку
"error:data members may not have variably modified type."
Я хочу использовать «D» только в моем коде. Теперь, как это исправить.
#include<iostream>
using namespace std;
static int d=1;
struct Btree{
public:
int key[2*d];
int count;
Btree *ptr[2*d+1];
Btree *pptr;
};
Массивы переменной длины не допускаются на C++ (но они находятся на C, а некоторые компиляторы имеют расширения для их поддержки). Как определено, 'd' является переменной. – Cornstalks
Добавьте комментарий к моему ответу, если вам нужна дополнительная информация, всегда полезно повышать, если вы одобрите, если бы этого было достаточно. Если это правильно, но не хватает, это всего лишь тик. –