我觉得这个答案应该很快很简单,但是我现在似乎无法弄明白它。
#include <string>
#include <iostream>
using namespace std;
void change_thing (string x) {
x="not thing";
}
int main() {
string maybe_thing;
maybe_thing="thing";
change_thing(maybe_thing);
cout << maybe_thing << endl;
return 0;
}
我希望当代码打印时,“maybe_thing”是“not thing”。我尝试了许多不同的指针策略,但似乎没有任何作用(可能是因为我做错了;我的指针知识并不完整,因为我刚接触c ++)。谢谢!
void change_thing (string x)
修改为void change_thing (string &x)
,这样就可以通过引用传递参数。目前你正在修改函数内的局部副本。 - Shafik Yaghmour