通知
すべてクリア
Topic starter
2007年12月13日 10:34 AM
VC++2003.NETを使用しております。
以下のような場合に引数に値が返ってきません。
<呼び出し元の関数>
String* str = __gc new String(");
errCode = func(str); //引数のstrにfunc()で値を入れて返してもらいたい。
Debug::WriteLine(str); //空のStringとなってしまう。funcで入れたつもり
のsssssを表示したい。
<Stringを設定する関数>
Int32 aaa::func( String* str )
{
str = Ssssss;
return errCode;
}
初歩的な間違いなのだろうと思うのですが、よくわかっておりません。
よろしくお願いいたします。
2007年12月13日 10:45 AM
C++マネージでのStringの受け渡し
http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-8063.htm
ちなみにC++/CLI(VS2005)では % で参照渡しとなります。
Topic starter
2007年12月13日 11:05 AM
すばやいご回答ありがとうございます。
以下でうまくいきました。
<呼び出し元の関数>
String* a = __gc new String(");
errCode = func(&a); //&にする。
Debug::WriteLine(a);
<Stringを設定する関数>
Int32aaa::func( String** str ) //**にする。
{
*str = Ssssss; //*strに対して値を設定
}
ありがとうございました。