я получаю ошибку «intitializer fails to determine size of 'K'
» в строкеошибка: инициализатор не удается определить размер «K»
int K[]= new int[Vertices->total];
Как решить эту проблему?
я получаю ошибку «intitializer fails to determine size of 'K'
» в строкеошибка: инициализатор не удается определить размер «K»
int K[]= new int[Vertices->total];
Как решить эту проблему?
Изменить
int K[]= new int[Vertices->total];
в
int *K = new int[Vertices->total];
1-ый один является Java
способ создания массива, в котором K
является ссылкой на целочисленный массив. Но в C++
нам нужно сделать K
указателем на целочисленный тип.
Thankx его работает, но могу ли я использовать тот же K для хранения массивов – smile
@shiva Почти. Массивы в c действительно являются указателями на блоки памяти. поэтому, если вы хотите использовать K для управления массивом из целого числа, объявление будет «int K ** = new int * [
new int[Vertices->total]
возвращает указатель, и, следовательно, int *K = new int[Vertices->total];
должен работать нормально.
Если вы знаете размер Vertices->total
во время компиляции (т.е. CONSTANT), то вы могли бы использовать int K[Vertices->total];
// Выделяет память на стеке
Вы должны решить, является ли вы программируете в 'C++ 'или' C', и, если это последнее, используете ли вы 'C99' или нет. –
Lousy сообщение об ошибке. Какой компилятор вы используете? –
@nobugz На самом деле, я думаю, что это разумное сообщение об ошибке. – 2010-03-29 08:18:21