c++ - 使用参考左值的正确方法
问题描述
我的代码如下:
void parentheses (int n, string& str, int left, int right){
... irrelevant...
}
void solve(int n){
parentheses(n,"",0,0);
}
但是,这会给我一个错误,告诉我cannot bind non-const lvalue reference of type std::__cxx11::string& ... to an rvalue of type ‘std::__cxx11::string
. 在这种情况下,如果我仍然想将字符串作为参考传递,我应该如何修改我的函数?我不想制作它们const
,因为我想要修改原始字符串的函数,并且我希望它们&
正是因为我想编辑它们的值。
解决方案
该函数需要一个内存来改变,你没有指定哪个。声明一个字符串来保存你想要传递的内容以及输出到哪里。
string s = "";
并将其传递给函数