Динамическая инициализация массива указателей

class MyClass
{
int **a;
int *b[];

MyClass()
{
a = new int*[10];
b = new int*[10];
}
};

В приведенном выше коде я получаю ошибку компиляции во 2-й строке внутри конструктора (b = new int * [10]). Это говорит об ошибке: несовместимые типы в присваивании int**' toINT * [0u]

Почему это так?

0

Решение

Вы не можете присвоить массиву; Вы можете инициализировать его или назначить его членам. Ваш b член в любом случае недопустим, поскольку иметь массив размером 0 недопустимо; синтаксис T b[] может использоваться только в том случае, если немедленно предоставляется агрегатный инициализатор, позволяющий компилятору определить длину массива.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]