C ++ - структурные ошибки - PullRequest
1 голос
/ 22 января 2011

Следуя примеру на: http://www.learncpp.com/cpp-tutorial/47-structs/, относящемся к структурам , и когда я пытался скомпилировать эту программу:

#include <iostream>
void PrintInformation(Employee sEmployee)
{
std::cout<<"ID: "<<sEmployee.nID<<std::endl;
std::cout<<"Age: "<<sEmployee.nAge<<std::endl;
std::cout<<"Wage: "<<sEmployee.fWage<<std::endl;
}

struct Employee {int nID;int nAge;float fWage;};

int main()
{
Employee abc;
abc.nID=123;
abc.nAge=27;
abc.fWage=400;
// print abc's information
PrintInformation(abc);
return 0;
}

Я получаю следующее:

alt text

Почему это?

Спасибо.

1 Ответ

9 голосов
/ 22 января 2011

Вы должны объявить struct перед функцией, которая пытается ее использовать.

C (и, соответственно, C ++) были разработаны для однопроходной компиляции.Следовательно, все должно быть доступно компилятору к тому времени, когда это требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...