初始值设定项列表不适用于 Visual Studio 2012 中的向量?

2023-06-03C/C++开发问题
2

本文介绍了初始值设定项列表不适用于 Visual Studio 2012 中的向量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

可能的重复:
Visual Studio 2012 中的 C++11 功能

所以我今天通过 维基百科阅读了 C++11 初始值设定项列表 并看到 C++11 支持标准容器的以下语法:

So I was reading up on C++11 initializer lists today via Wikipedia and saw that C++11 supports the following syntax for the standard containers:

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

When I try the following in Visual Studio 2012 I get the compilation error C2552: 'vecs' : non-aggregates cannot be initialized with initializer list

这是我的代码:

#include <vector>

using namespace std;

int main() {
    vector<string> vecs = {"h", "g", "e"};
}

VS2012 不支持初始化列表还是我误解了什么?

Does VS2012 not support initializer lists or am I just misunderstanding something?

谢谢!

推荐答案

Visual Studio 2012 不支持初始化列表.

Visual Studio 2012 does not support initializer lists.

嗯,直到 2012 年 11 月 CTP 才出现.现在确实如此,至少处于 alpha 状态.当然,这段代码仍然无法在其中工作,因为他们仍在将初始化列表放入标准库本身.

Well, it didn't until the November 2012 CTP. Now it does, at least in an alpha state. Granted, this code still won't work in it because they're still putting initializer lists into the standard library itself.

这篇关于初始值设定项列表不适用于 Visual Studio 2012 中的向量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

无法访问 C++ std::set 中对象的非常量成员函数
Unable to access non-const member functions of objects in C++ std::set(无法访问 C++ std::set 中对象的非常量成员函数)...
2024-08-14 C/C++开发问题
17

从 lambda 构造 std::function 参数
Constructing std::function argument from lambda(从 lambda 构造 std::function 参数)...
2024-08-14 C/C++开发问题
25

STL BigInt 类实现
STL BigInt class implementation(STL BigInt 类实现)...
2024-08-14 C/C++开发问题
3

使用 std::atomic 和 std::condition_variable 同步不可靠
Sync is unreliable using std::atomic and std::condition_variable(使用 std::atomic 和 std::condition_variable 同步不可靠)...
2024-08-14 C/C++开发问题
17

在 STL 中将列表元素移动到末尾
Move list element to the end in STL(在 STL 中将列表元素移动到末尾)...
2024-08-14 C/C++开发问题
9

为什么禁止对存储在 STL 容器中的类重载 operator&amp;()?
Why is overloading operatoramp;() prohibited for classes stored in STL containers?(为什么禁止对存储在 STL 容器中的类重载 operatoramp;()?)...
2024-08-14 C/C++开发问题
6