[英]Where in the C++ Standard can I find support for invoking a function in global scope?
[英]In c++, `expressions` are allowed in global scope only to initialize global objects. Where can I find this in the Standard?
下面的注释表达式不能编译,因为它在全局范围内。 但是在C ++标准的哪里可以找到与此限制有关的内容? 我记得,在全局范围内仅允许表达式初始化全局对象。 我已经研究了第5章表达式 ,但无济于事。
#include <iostream>
//std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
int main()
{
std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
}
我相信一切都将取决于3.5程序和链接 :
1)一个程序由一个或多个链接在一起的翻译单元(第2条)组成。 翻译单元由一系列声明组成。
翻译单位:
声明顺序选择
在该语法说明之后,您将找到一个声明序列中允许的内容以及每个声明中允许的内容。 可以看出,在翻译单位级别不允许使用常规语句 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.