C++ 向量错误:没有要插入的匹配成员函数调用
我试图插入一个我初始化为的向量C++ 向量错误:没有要插入的匹配成员函数调用,c++,C++,我试图插入一个我初始化为的向量 std::vector<std::string> vector_strings{""}; 在本例中,c是常量字符 它总是给我这个错误: no matching member function for call to 'insert' note: candidate function not viable: no known conversion from 'const char' to 'const std::__1::__vector
std::vector<std::string> vector_strings{""};
在本例中,c是常量字符
它总是给我这个错误:
no matching member function for call to 'insert'
note: candidate function not viable: no known conversion from 'const char' to 'const
std::__1::__vector_base<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >::value_type'
(aka 'const std::__1::basic_string<char>') for 2nd argument
iterator insert(const_iterator __position, const_reference __x);
调用“insert”时没有匹配的成员函数
注:候选函数不可行:没有从“const char”到“const char”的已知转换
std::_1::_向量_基::值_类型'
(也称为'const std::_1::basic_string'),用于第二个参数
迭代器插入(常量迭代器位置,常量引用x);
任何帮助都将不胜感激。谢谢大家! 从
vector_strings.insert(vector_strings.begin(),c)代码>
到
vector_strings.insert(vector_strings.begin(),string(1,c))代码>
试试看 您的std::vector
的内部值类型为std::string
您试图插入的内容是一个const char
,它不是std::string
const char
不会自动或隐式转换为std::string
。因此,编译器拒绝此代码
将const char
转换为std::string
就可以了。您有一个字符串向量,并尝试在向量中插入一个字符?这听起来有意义吗?请,在任何情况下,您都需要提取并提供一个。作为一个新用户,也需要阅读。
no matching member function for call to 'insert'
note: candidate function not viable: no known conversion from 'const char' to 'const
std::__1::__vector_base<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >::value_type'
(aka 'const std::__1::basic_string<char>') for 2nd argument
iterator insert(const_iterator __position, const_reference __x);