1

我在 CodeBlocks 中不断收到一条错误消息,它说:

Error: 'Addnumbers' was not declared in this scope

我刚开始使用 C++,不知道这意味着什么。这是我的代码:

#include <iostream>
using namespace std;

int main()
{
    int fnum;
    int snum;

    cout << "Enter First number" << endl;
    cin >> fnum;
    cout << "Enter Second Number" << endl;
    cin >> snum;

    Addnumbers (fnum, snum);
    return 0;
}

int Addnumbers(int fnum, int snum){
    int ans = fnum+snum;
    return ans;
}
4

2 回答 2

2

您需要在使用之前声明该函数:

int Addnumbers(int fnum, int snum);

int main()
{
}

int Addnumbers(int fnum, int snum)
{
    // ...
}

第一个声明称为原型,并告诉编译器某处有一个以AddNumbers指定参数和返回类型命名的函数。然后你可以在任何地方拥有定义,甚至在另一个源文件中。

在 C++(以及 C 或其他基于 C 的语言中)中,所有内容都必须在使用之前声明。这就是编译器将如何知道这些东西存在的方式。

于 2013-05-03T21:10:53.640 回答
1

您需要Addnumbers在 main 之前移动,或者进行前向声明:

#include <iostream>
using namespace std;

int Addnumbers(int fnum, int snum);

int main()
{
于 2013-05-03T21:11:12.593 回答