重複の可能性:
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この単純な例では、 がある種のグローバル変数であると仮定しましょう。
Variable3std::wstringオブジェクトへの (グローバル変数) ポインターです。正しい文字列を指しているよりも、デバッガーで確認できます。
私がやりたいのはVariable1、 と同じ std::wstring オブジェクトを指していることVariable3です。
そこで、ポインターのアドレスを関数に渡そうとしました。これにより、アドレスポイントが にVariable1設定されることを期待しました。Variable3Variable1
しかし、これは機能していません。OKに設定されているようですが、プログラムが終了するfuncと、Variable1はまだヌルポインターです。
私はできる限り明確にしようとしました。それで十分だと思います。残念ながら、これには func の戻り値を使用できません。実際にstd::wstringstreamは、同じことを行う別のオブジェクトが 2 つあるからです。すべてが同じ問題を抱えているため、1 つのstd::wstringオブジェクトだけに単純化しました。&と の他のさまざまな組み合わせを試しまし*たが、どれもうまくいきませんでした。
何卒よろしくお願い申し上げます。