我需要以这种方式在类中初始化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")一点吗?
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)