以下是合法的C ++代码:
class C
{
static public int x;
};
它在Visual Studio 2008 C ++和Visual Studio 2010 C ++(beta 2)中编译正常。但静态成员x最终不会公开。
在Visual Studio 2010 beta 2中,体验更加陌生。 Intellisense报告错误“期望标识符”,但编译器没有。 Visual Studio 2008不会出现任何错误。
所以问题是:
这是合法的C ++代码吗? 这是什么意思?
答案 0 :(得分:6)
这不是合法的C ++。这是一个合法的C#,所以这就是MS IDE错过的原因。
正确:
public: static int x;
答案 1 :(得分:4)
这不是合法的C ++代码。
变量声明中不允许使用'public'。 然而,你所看到的是编译器“工作”,因为它也编译为CLI(.NET代码),并且它是允许的和合法的。
答案 2 :(得分:2)
不,这不是合法的C ++
这可能是合法的C#(但你需要与C#人核实)。