所以我今天通过Wikipedia阅读了 C++11 初始化列表,发现 C++11 支持标准容器的以下语法:
std::vector<std::string> v = { "xyzzy", "plugh", "abracadabra" };
std::vector<std::string> v({ "xyzzy", "plugh", "abracadabra" });
std::vector<std::string> v{ "xyzzy", "plugh", "abracadabra" };
当我在 Visual Studio 2012 中尝试以下操作时,出现编译错误C2552: 'vecs' : non-aggregates cannot be initialized with initializer list
这是我的代码:
#include <vector>
using namespace std;
int main() {
vector<string> vecs = {"h", "g", "e"};
}
VS2012 不支持初始化列表还是我只是误解了什么?
谢谢!