【发布时间】:2015-04-02 17:28:13
【问题描述】:
我正在阅读一本关于 C 语言的书 ('Mastering C'),并在 Google Books here 的第 203 页上找到了关于范围解析运算符 (::) 的主题。
但是当我运行以下代码示例(从书中复制)时,C 编译器给了我一个错误。我在 Internet 上进行了搜索,但在 C 中找不到对范围解析运算符的任何引用。
#include <stdio.h>
int a = 50;
int main(void)
{
int a =10;
printf("%d",a);
printf("%d\n", ::a);
return 0;
}
所以如果我想访问一个全局变量,那么我该如何从 main() 函数中做到这一点?
【问题讨论】:
-
也许你正在读一本关于 C++ 的书?
-
@al-Acme:这是一个 Wikipedia 页面,用 3 种语言(包括 C++)解释范围解析运算符。它并没有说它在 C 中不存在,或者在任何其他语言中都不存在。事实上它说'其他语言......同时具有范围解析和方法访问' - 即它留下了它是否存在于C中的问题。
-
@munjal007:如果这本书确实是一本 C 书,请随意命名和羞辱。
-
更不用说duplicate question了。
-
@abligh 我的观点是,这个问题不值得 3 票,答案也不值得 9 票(并不是说我对你有任何反对 - 你发布正确答案并没有做错任何事)
For instance there is one in perl and that's not listed- 我的意思是这需要一个简单的谷歌搜索。
标签: c scope-resolution