众所周知,由于遗留代码,C ++ 0x无法带来许多重要更改:所有遗留代码(包括C代码)都可以与C ++ 0x编译器进行编译。
那么为什么不添加类似#pragma syntax(language_version)
的内容,这会允许新语法发生重大变化?
#include <legacy_code_header.h>
#pragma syntax(2098)
// something strange
func(x)
{
return x + 1, x * 2;
}
int main()
{
a, b = func(1.0);
return a + b;
}
答案 0 :(得分:0)
某些C ++ 0x编译器可能允许这样做。毕竟,#pragmas通常是编译器特定的,不受标准规定。其他人通过命令行选项支持这一点。