在阅读一本书时,我发现C++提供了各种各样的初始化样式。其中很少有人是:-
//1 double d1 {2.3}; //2 double d3 = {2.4};
所以它说'=‘是可选的,当我们使用花括号时。所以我试了一试,令人惊讶的是,第二种方法工作得很好,而第一种方法却导致了一个错误。我正在使用视觉工作室2010。有人能帮我吗?
发布于 2018-07-08 07:52:04
C++11引入了许多新的C++构造,上面的“大括号”情况称为统一初始化。这个特性直到VS 2013才被VisualC++完全实现。
您应该看到这个文档页面和C++代码指南。
VS 2010只实现了一些C++0x草案特性,如nullptr、static_assert、override / final、decltype、新auto,以及lambda表达式和r值引用的第一个实现(也称为移动构造函数和操作符)。这与C++11的一致性相差甚远。VS 2015 Update 3或VS 2017是C++11/C++14编码的一个更好的选择。
nullptr
static_assert
override
final
decltype
auto
请参阅这篇博客文章
https://stackoverflow.com/questions/51229251
相似问题