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);