首页 > 解决方案 > 使用参考左值的正确方法

问题描述

我的代码如下:

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,因为我想要修改原始字符串的函数,并且我希望它们&正是因为我想编辑它们的值。

标签: c++referencelvalueampersand

解决方案


该函数需要一个内存来改变,你没有指定哪个。声明一个字符串来保存你想要传递的内容以及输出到哪里。

string s = "";

并将其传递给函数


推荐阅读