C++ C+的错误代码调试+;代码块

C++ C+的错误代码调试+;代码块,c++,scope,codeblocks,C++,Scope,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;

我在代码块中不断收到一条错误消息,上面写着:

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;
}
#包括
使用名称空间std;
int main()
{
内特fnum;
int snum;
cout-fnum;
不能怠慢;
地址编号(fnum、snum);
返回0;
}
int地址编号(int fnum、int snum){
int ans=fnum+snum;
返回ans;
}

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

int Addnumbers(int fnum, int snum);

int main()
{
}

int Addnumbers(int fnum, int snum)
{
    // ...
}
第一个声明就是所谓的原型,它告诉编译器,在某个地方有一个名为
AddNumbers
的函数,它具有指定的参数和返回类型。然后,您可以在任何地方拥有该定义,甚至在另一个源文件中


<>在C++中(以及C语言或其他语言的C语言),在使用之前,所有的内容必须是<强>声明< /强>。这就是编译器如何知道东西的存在。

您需要将
Addnumbers
移到main之前,或者执行向前声明:

#包括
使用名称空间std;
int地址编号(int fnum、int snum);
int main()
{

非常感谢!我不知道。这对所有函数都一样吗?主函数总是最后一个吗?@Col1107就像在我的示例中一样,声明可以在
Main
函数之前,它们必须在使用之前。然而,将
Main
放在最后几乎总是一个安全的赌注。