重複の可能性:
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
は、同じことを行う別のオブジェクトが 2 つあるからです。すべてが同じ問題を抱えているため、1 つのstd::wstring
オブジェクトだけに単純化しました。&
と の他のさまざまな組み合わせを試しまし*
たが、どれもうまくいきませんでした。
何卒よろしくお願い申し上げます。