标准说,根据5.17/9

可能会出现支撑列表的右侧
- 标量的分配[...
- 用户定义的分配运算符[..]定义的作业

在GCC 4.5.1 -PRE9999中,我可以编译此(使用-std = C ++ 0x,而不是-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在这里正确吗?

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top