可能重复:
C++:将指针变量传递给函数
这是一个简化的代码片段,我认为它显示了手头的问题:
std::wstring *Variable3 = &SomeWStringObject;
int _tmain(int argc, _TCHAR* argv[])
{
std::wstring *Variable1 = NULL;
func(Variable1);
}
void func(std::wstring *Variable2)
{
Variable2 = Variable3;
}
现在,实际上,func
是一个类Variable3
的成员,也是同一个类的成员。对于这个更简单的示例,我们假设它Variable3
是某种全局变量。
Variable3
是指向std::wstring
对象的(全局变量)指针。我可以在调试器中看到它指向正确的字符串。
我想要结束的是Variable1
指向相同的 std::wstring 对象作为Variable3
.
所以我尝试将指针的地址传递给Variable1
函数,然后我希望将地址Variable3
指向设置为Variable1
.
但这行不通。好像设置OK了,但是当程序离开的时候func
,Variable1还是一个空指针。
我试图尽可能清楚。我希望这已经足够了。不幸的是,我不能为此使用 func 的返回值,因为我实际上还有另外两个std::wstringstream
对象可以做同样的事情。由于所有人都有相同的问题,我将其简化为一个std::wstring
对象。我尝试了许多其他不同的&
and组合*
,但没有一个奏效。
非常感谢您提供的任何帮助。