C++ 新手。只是制作一个简单的结构/数组程序。为什么我不能像我想要的那样传递结构数组?
int NumGrads();
int main()
{
struct Student {
int id;
bool isGrad;
};
const size_t size = 2;
Student s1, s2;
Student students[size] = { { 123, true },
{ 124, false } };
NumGrads(students, size);
std::cin.get();
return 0;
}
int NumGrads(Student Stu[], size_t size){
}
我知道它一定与传递引用或值有关,但如果我在 main() 中定义它,我肯定不会收到 NumGrads 参数的错误?
最佳答案
您的结构定义在您的main
内部,您的NumGrads
函数定义在外部主要
。
这意味着您的结构是在您的函数可以看到它的范围之外定义的。
将结构的定义移到 main
之上,问题就解决了。
关于c++ - 这个结构已定义,那么为什么函数认为它没有定义呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14983429/