#include <iostream>
using namespace std;
int main()
{
HelloWorld();
return 0;
}
void HelloWorld()
{
cout << "Hello, World" << endl;
}
Run Code Online (Sandbox Code Playgroud)
我用g ++得到以下编译错误:
l1.cpp: In function 'int main()':
l1.cpp:5:15: error: 'HelloWorld' was not declared in this scope
Run Code Online (Sandbox Code Playgroud)
Mys*_*ial 87
您需要先声明或定义该函数,然后才能使用它.否则,它不知道HelloWorld()作为函数存在.
在主要功能之前添加:
void HelloWorld();
Run Code Online (Sandbox Code Playgroud)
或者,您可以在以下HelloWorld()之前移动定义main():
#include <iostream>
using namespace std;
void HelloWorld()
{
cout << "Hello, World" << endl;
}
int main()
{
HelloWorld();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Nas*_*ine 19
您必须先声明该函数,然后才能使用它:
#include <iostream>
using namespace std;
void HelloWorld();
int main()
{
HelloWorld();
return 0;
}
void HelloWorld()
{
cout << "Hello, World" << endl;
}
Run Code Online (Sandbox Code Playgroud)
或者你可以移动HelloWorld()之前的定义main()
mat*_*ias 15
你需要转发声明,HelloWorld()所以main知道它是什么.像这样:
#include <iostream>
using namespace std;
void HelloWorld();
int main()
{
HelloWorld();
return 0;
}
void HelloWorld()
{
cout << "Hello, World" << endl;
}
Run Code Online (Sandbox Code Playgroud)
您需要在调用之前拥有函数的原型,或者在它之前拥有整个函数.
所以第一个是:
void HelloWorld();
int main() {
HelloWorld();
return 0;
}
void HelloWorld() {
cout << "Hello, World" << endl;
}
Run Code Online (Sandbox Code Playgroud)
第二种方式是:
void HelloWorld() {
cout << "Hello, World" << endl;
}
int main() {
HelloWorld();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
还有一种可能由于某些原因没人提到,即使用extern声明:
#include <iostream>
using namespace std;
int main()
{
extern void HelloWorld();
HelloWorld();
return 0;
}
void HelloWorld()
{
cout << "Hello, World" << endl;
}
Run Code Online (Sandbox Code Playgroud)
当您不希望将函数的名称引入命名空间范围时,它更可取.
所有这些答案都是正确的,但奇怪的是,这会有效:
struct Hello {
static int main() { World(); return 0; } /* note: World() not declared yet */
static void World() { std::cout<<"Hello World"; }
};
int main() { return Hello::main(); }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63558 次 |
| 最近记录: |