У меня есть два вопроса относительно многомерных массивов. Я объявил трехмерный массив, используя две звезды, но когда я пытаюсь получить доступ к элементам, я получаю ошибку «без инициализации».
unsigned **(test[10]);
**(test[0]) = 5;
Как я получаю эту ошибку, когда при использовании следующего кода я не получаю сообщение об ошибке? В чем разница?
unsigned test3[10][10][10];
**(test3[0]) = 5;
Мой второй вопрос: я пытаюсь перенести часть кода, написанного для Unix, на Windows. Одна из строк такова:
unsigned **(precomputedHashesOfULSHs[nnStruct->nHFTuples]);
* nHFTuples имеет тип int, но не является константой , и это ошибка, которую я получаю;
error C2057: expected constant expression
Возможно ли, что я получаю эту ошибку, потому что я запускаю ее на Windows, а не на Unix? - и как бы я решил эту проблему? Я не могу сделать nHFTuples константой, потому что пользователь должен будет предоставить значение для этого!