class MyClass
{
int **a;
int *b[];
MyClass()
{
a = new int*[10];
b = new int*[10];
}
};
В приведенном выше коде я получаю ошибку компиляции во 2-й строке внутри конструктора (b = new int * [10]). Это говорит об ошибке: несовместимые типы в присваивании int**' to
INT * [0u]
Почему это так?
Вы не можете присвоить массиву; Вы можете инициализировать его или назначить его членам. Ваш b
член в любом случае недопустим, поскольку иметь массив размером 0 недопустимо; синтаксис T b[]
может использоваться только в том случае, если немедленно предоставляется агрегатный инициализатор, позволяющий компилятору определить длину массива.
Других решений пока нет …