在类中初始化变量

use*_*550 0 c++ string vector

我需要以这种方式在类中初始化vector

vector<string> test("hello","world");
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,编译器将它识别为一个函数并给出错误,如错误:字符串常量之前的预期标识符等.

当我这样做的时候

vector<string> test = ("hello","world") 
Run Code Online (Sandbox Code Playgroud)

没关系..有什么方法可以做到这vector<string> test("xx")一点吗?

Nik*_* C. 5

std :: vector中没有这样的构造函数可以让你像这样初始化它.并且您的第二个示例评估为"world"(这是,运算符所做的),这是向量中的最终结果.

如果要在声明时初始化向量,请使用初始化列表:

vector<string> test = {"hello", "world"};
Run Code Online (Sandbox Code Playgroud)

确保在C++ - 11模式下构建源代码,以实现此目的.如果您没有兼容C++ - 11的编译器,则必须在以后将值添加到向量:

vector<string> test;
test.push_back("hello");
test.push_back("world");
Run Code Online (Sandbox Code Playgroud)