为什么我的 HelloWorld 函数没有在这个范围内声明?

新手上路,请多包涵
#include <iostream>

using namespace std;

int main()
{
    HelloWorld();
    return 0;
}

void HelloWorld()
{
    cout << "Hello, World" << endl;
}

我收到以下 g++ 编译错误:

 l1.cpp: In function 'int main()':
l1.cpp:5:15: error: 'HelloWorld' was not declared in this scope

原文由 MatthewSot 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 491
2 个回答

您需要先声明或定义该函数,然后才能使用它。否则,它不知道 HelloWorld() 作为函数存在。

在你的主要功能之前添加这个:

 void HelloWorld();

或者,您可以将 --- 的定义移到 --- main() HelloWorld() 之前:

 #include <iostream>
using namespace std;

void HelloWorld()
{
  cout << "Hello, World" << endl;
}

int main()
{
  HelloWorld();
  return 0;
}

原文由 Mysticial 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 C++ 中,您需要在调用函数之前定义或至少声明函数。

到目前为止,您正在尝试做的是这样的事情:

 int main()
{
   cout << b;
   int b = 10;
}

所以你也可以这样尝试:

 #include <iostream>
using namespace std;

void HelloWorld();

int main()
{
    HelloWorld();
    return 0;
}
void HelloWorld()
{
  cout << "Hello, World" << endl;
}

在 C++ 中,在 main 函数之前定义所有其他函数是一种很好的做法。

原文由 gprathour 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题