索引在Visual Studio中不被视为常量的字符串文字

时间:2015-05-21 13:56:51

标签: c++ visual-studio-2010 visual-c++ g++

我试图理解为什么下面的代码用g ++编译而不是Visual Studio 2010(visual c ++)。

int main(int argc, char **argv)
{
    const char aChar = 5;
    enum 
    {
        firstVal = 1 & aChar,
        secondVal = 1 & "WOW"[0]
    }; 
}

Visual Studio抱怨Error 13 error C2057: expected constant expression,但g ++ 4.8.3似乎没有任何问题。字符串文字不是有效的const char数组吗?如果是这样,为什么firstValsecondVal的行为会有所不同?

0 个答案:

没有答案