在我看来,这个函数无效,因为它使用关键字'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挖出重复。
答案 0 :(得分:2)
MS Visual C ++ 6.0和g ++ 4.4.0产生了许多错误 - 正如他们应该的那样。我觉得很难相信 一个C ++编译器会接受这个 - 你确定你真的编译了这段代码吗?
答案 1 :(得分:1)
默认是reserved word,gcc 4.3.2不会编译该代码,不确定MS编译器在那里播放的内容!
答案 2 :(得分:0)
不,默认是保留的c ++关键字,这就是它无法编译的原因。