无法编译最简单的C++代码

ins*_*ion -4 c++ compilation

我正在尝试编译此代码,但我得到一个错误:

#include <iostream>

main(){

    std::cout << add(5, 6);
}

int add(int a, int b){
    return a+b;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

error: 'add' was not declared in this scope
  std::cout << add(5, 6);
Run Code Online (Sandbox Code Playgroud)

Cos*_*314 5

在main()之前:

int add(int a, int b);
Run Code Online (Sandbox Code Playgroud)

通常,函数接口放在头文件中,然后包含在内.

  • @instructionSetQuestion Java中的所有函数都在一个类中.如果要将这些函数定义为成员函数,您会发现C++确实看到了"在它们下面"的函数.你拥有的是全局的非类函数,这是Java AFAIK中不存在的函数.为此,您必须在调用函数之前声明函数原型(或函数的整个主体必须​​出现).如果你想让它"固定",那么学习C编程,你可以在不声明它们的情况下调用函数(并且失去原型检查). (2认同)