【发布时间】:2009-05-18 16:46:02
【问题描述】:
在我看来,这个函数是无效的,因为它使用关键字'default'作为标识符:
int foo()
{
int default = 42;
return default;
}
但是,Microsoft C++ 编译器(版本 14.00.50727.762 和 15.00.30729.0)编译代码时不会出现警告或错误(使用最简单的命令行:'cl foo.cpp')。
Dev-C++ 4.9.9.2 在编译函数时确实会产生错误。
这似乎是一个显而易见的问题,我一定忽略了一些东西。
编辑:litb为此问题Default as a variable name挖出重复。
【问题讨论】:
-
这是微软 c++ 编译器中的一个已知错误。还有另一个问题想知道,但我目前无法找到它。
-
这很有趣。曾经发生在我身上的“汽车”关键字(西班牙语为汽车)
-
这就是我所说的错误!不能识别保留字的解析器一定很难写!
-
MS C++ 13.10.4035 返回错误,我无法想象为什么 14 和 15 没有。
-
这似乎是一个有趣的错误情况,值得注意。
标签: c++