非常简单的程序中的语法错误

时间:2013-09-18 20:14:43

标签: c++

我正在编写我的第一个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':找不到标识符

5 个答案:

答案 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();在函数内部,您只能在该特定函数内使用此函数。