我正在尝试将一个字符串推入一个字符串向量中,例如下面的代码:
void Node::set_val(string &val)
{
this->val.push_back(val);
}
但是当我尝试按照以下方式调用它时:
Obj.set_val("10h;");
我遇到了以下错误:
error: no matching function for call to 'Node::set_val(const char [5])'
我假设双引号中的字符串与C++中的
string
相同,为什么会出现这样的错误?下面需要改变什么?
set_val
函数期望一个指向std::string
的引用作为参数。但是你只传递了一个包含5个字符的常量数组。 - Karthik Kalyanasundaram