C++ 在主函数之外使用“cout”?

Sam*_*ubb 1 c++

我不知道我是否只是使用了错误的关键字......但我在谷歌上找不到答案。我不能将我虚弱的头脑包裹在我的错误上。

这是错误的简单演示:

#include <iostream>

//std::cout << "hello";

int main()
{
    std::cout << "hello";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译/运行时,我收到此错误:

main.cpp:3:6: 错误:命名空间“std”中的“cout”未命名类型

但是,如果我删除第一cout行,并且只允许程序执行 main 函数中的那一行,它就可以正常工作。

有人有任何想法吗?

Jef*_*ica 5

您不能在 C++ 中的函数之外运行代码。编译器只期望函数外部的变量声明,因此,期望 std::cout 是一种类型,而事实并非如此。

  • 为什么当然可以。只需将代码作为变量初始化的一部分即可。`std::ostream&amp; foo = std::cout &lt;&lt; "maga";` (7认同)
  • “无法运行代码”是模糊的。语法不允许在函数定义之外使用 *statements*。 (2认同)