我正在编写我的第一个C ++应用程序。但我得到语法错误。
#include <iostream>
using namespace std;
int main() {
int result = get_num();
cout << "Result is " << result << endl;
system("pause");
return 0;
}
int get_num(void) {
return 1;
}
编译器说我:
main.cpp(10):错误C3861:'get_num':找不到标识符
答案 0 :(得分:4)
两个选项:
1)在get_num
:
main
的原型
int get_num(void);
int main() {
}
2)在get_num
之前移动main
的定义。
答案 1 :(得分:2)
一种解决方案是在main
之前添加前向声明,如下所示:
int get_num(void) ;
另一个解决方案是将get_num
的定义放在main
之前,然后你就不需要前向声明了。
答案 2 :(得分:2)
将int get_num(void);
写在main()
函数上方。
C ++要求在当前范围之上声明变量和函数。
答案 3 :(得分:1)
在main中使用之前,您需要声明或定义该函数。 声明只需添加
int get_num(void);
代码的开头。如果没有在main之前定义整个函数,那么 - 尝试 -
#include <iostream>
using namespace std;
int get_num(void) {
return 1;
}
int main() {
int result = get_num();
cout << "Result is " << result << endl;
system("pause");
return 0;
}
答案 4 :(得分:1)
在C ++中,您需要在使用它们之前声明要使用的所有变量/函数。你在main中使用了getnum,但是你没有在函数中声明它。写int get_num(); outside main将在全球范围内宣布这一点。即该文件中的任何功能都可以使用它。声明get_num();在函数内部,您只能在该特定函数内使用此函数。