Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Ошибка с написанием функции


Автор: Trurl 27.12.2007, 14:05
Подскажите, пожалуйста, в чём ошибка. Написал функцию, которая должна задавать массив объектов.

Код

void input_data(int i, class_A B[i][i])
{
   B[0][0].Set...(...);
   ....
   B[i][i].Set...(...);
}



Компилятор выдаёт следующее:
------ Build started: Project: graph_processing, Configuration: Debug Win32 ------
Compiling...
graph_processing.cpp
...\input_data.cpp(4) : error C2057: expected constant expression
...\input_data.cpp(4) : error C2466: cannot allocate an array of constant size 0
...\input_data.cpp(4) : error C2057: expected constant expression
...\input_data.cpp(4) : error C2466: cannot allocate an array of constant size 0
...\input_data.cpp(4) : error C2087: 'В' : missing subscript
...\graph_processing.cpp(29) : error C2664: 'input_data' : cannot convert parameter 2 from 'class_A' to 'class_A [][1]'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Build log was saved at "...\BuildLog.htm"
graph_processing - 6 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


С уважением.

Автор: Lazin 27.12.2007, 14:11
замени void input_data(int i, class_A B[i][i])
на void input_data(int i, class_A** B)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)