9

标准说,在 5.17/9 下


一个花括号初始化列表可能出现在- 对标量的赋值 [...]
- 由用户定义的赋值运算符 [..] 定义的赋值的右侧

在 GCC 4.5.1-pre9999 中,我可以编译它(使用 -std=c++0x,NOT -std=gnu++0x)

#include <iostream>

int main()
{
        int test[] = {1,2,3};
        std::cout << test[0] << test[1] << test[2];
        test = {4,5,6};
        std::cout << test[0] << test[1] << test[2] << std::endl;
}

它打印出来123456。GCC在这里正确吗?

4

1 回答 1

4

对我来说它看起来像一个错误。初始化(int test = {1,2,3};)很好,但据我所知,标准中没有任何内容允许分配。

于 2010-06-07T15:44:24.130 回答