官方blog地址
以上是官方blog的解释
具体问题说明如下:
在Visual Studio 2013和Visual Studio 2015 Preview里,C++11的支持一直有一个小问题导致我们的项目在windows下无法正常编译。
class C {
std::vector<int> a {1,2,3};
}
在已知所有Visual Studio版本下都无法通过编译,按照官方说法是编译器存在一个bug导致最后把这种写法标识为了错误。
这种写法在gcc和clang都是允许的。
官方说在Visual Studio 2015最终版发布时会解决这个问题,目前临时解决方案是:
class C {
std::vector<int> a = std::vector<int>{1,2,3};
}
我想吐槽一下尼玛这么写还有毛意义……不过至少官方承诺2015正式版解决这个问题就好。