2013-12-05 2 views
0

Я хотел бы передать мой 2D массив класса Менза в функции ..Передача 2D массива в функцию

class Menza 
{ 
    public: 
    string PrintLunch() const {return Lunch;}; 
    unsigned int PrintID() const {return ID;}; 
    double PrintPrice() const {return Price;}; 
    double PrinteValue() const {return eValue;}; 
    string PrintDescription() const {return Description;}; 
    void ChangeLunch(string Change) {Lunch = Change;}; 
    void ChangePrice(double Change) {Price = Change;}; 
    void ChangeID(int Change) {ID = Change;}; 
    void ChangeeValue(double Change) {eValue = Change;}; 
    void ChangeDescription(string Change) {Description = Change;}; 
private: 
    string Lunch; 
    double Price; 
    unsigned int ID; 
    string Description; 
    double eValue; 
}; 

const int Lunches = 5; 

void LoadFile(bool FileChoice,Menza (*InputFromFile)[Lunches]); 
void CustomerSelection(Menza CustomerSelect[],Menza (*InputFromFile)[Lunches]); 

int main() 
{ 
    Menza InputFromFile[Lunches][Lunches]; 
    Menza CustomerSelect[Lunches]; 
    bool FileChoice = false; 

    LoadFile(FileChoice,InputFromFile); 
    CustomerSelection(CustomerSelect,InputFromFile); 
} 

После того, как я составляю это, он показывает мне:

Semestralka.obj : error LNK2019: unresolved external symbol "void __cdecl LoadFile(bool,class Menza (*)[5])" ([email protected]@[email protected]@@Z) referenced in function _main 
1>E:\My VSB\ZP projekty\Semestralka\Debug\Semestralka.exe : fatal error LNK1120: 1 unresolved externals 

Может кто-то объяснить, мне что не так в этом вызове функции?

Благодаря

+0

Где определение 'LoadFile'? –

+0

Под объявлением: const int Lunches = 5; – user3072249

+0

Это декларация. Где определение? –

ответ

0

Вы не определение LoadFile функции, только декларации. Поэтому компилятор не может понять, что должна делать эта функция. Вы должны определить его или связать библиотеку, где она определена (и включить заголовок из этой библиотеки). (То же самое верно и для CustomerSelection).

Подробнее о разнице между определением и декларации здесь: declare_vs_define

+0

http://pastebin.com/4uiGNEbw Theres мой полный код (его еще не закончено), декларации, а также определения моих методов тоже есть. Спасибо за любую помощь – user3072249

+0

@ user3072249, будьте более конкретным. Где у вас есть определение LoadFile (...)? Я этого не вижу. – klm123

Смежные вопросы