根据问题std :: array c ++ 11初始化器语法错误 不允许以这种方式将支撑列表分配给std :: array:
std::array<int, 10> a = {0,1,2,3,4,5,6,7,8,9};
a = {0}; // error: cannot assign to an array from a braced list
Run Code Online (Sandbox Code Playgroud)
但实际上我不能再重现这个错误了.我的GCC版本是4.8.2.这是代码:
#include <array>
int main() {
std::array<int, 10> a;
a = {1};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它编译和执行没有任何错误.
所以,问题是,我在这里做错了吗?或者是否有任何变化导致这种行为改变?
我正在寻找答案,如果这两个函数之间有任何区别,除了第一个函数的常量:
QThread * QObject::thread() const
QThread * QThread::currentThread()
Run Code Online (Sandbox Code Playgroud)