以下示例: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;
}
我得到以下内容:
为什么?
感谢。
答案 0 :(得分:9)
您需要在尝试使用它的函数之前声明struct 。
C(以及扩展名,C ++)是为“单程”编译而设计的。因此,在需要时,编译器必须可以使用所有内容。