1

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

4

5 回答 5

4

两种选择:

1)声明get_num之前的原型main

int get_num(void);
int main() {
}

2)移动你对get_numbefore的定义main

于 2013-09-18T20:16:31.773 回答
2

一种解决方案是在像这样之前添加一个前向声明main

int get_num(void) ;

另一种解决方案是放置get_numbefore的定义,main然后您就不需要前向声明。

于 2013-09-18T20:16:15.267 回答
2

int get_num(void);main()函数上面。

C++ 要求在当前作用域之上声明变量和函数。

于 2013-09-18T20:16:23.193 回答
1

在 main 中使用它之前,您需要声明或定义该函数。声明只需添加

 int get_num(void);

在代码的开头。如果没有像这样在 main 之前定义整个函数-Try-

   #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;
    }
于 2013-09-18T20:17:47.180 回答
1

在 C++ 中,您需要在使用它们之前声明要使用的所有变量/函数。您在 main 中使用 getnum ,但尚未在函数中声明它。编写 int get_num(); 外部 main 将在全局范围内声明它。即该文件中的任何函数都可以使用它。声明 get_num(); inside a function 将使您能够仅在该特定函数内使用此函数。

于 2013-09-18T20:38:50.747 回答