C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: c++/cliでクラスを配列で宣言する方法


(過去ログ 84 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■49909 / inTopicNo.1)  c++/cliでクラスを配列で宣言する方法
  
□投稿者/ みね (1回)-(2010/05/21(Fri) 23:07:54)

分類:[C++/CLI] 

Visual Stdio 2010 C++ Expressを使用しています。
windowsフォームアプリケーションを作成しています。

クラスを定義し、それを配列として確保したいのですが、インスタンスに設定されていないという実行エラーになります。

<クラス定義>
public ref class aaa{
	private:
		int n;

	public:
		aaa(){
			n=0;
		}

		void func(){
			int m;
			m = 3;
			n = 3;
		}
	};

<クラス使用>
array<aaa^ >^ bbb;
bbb = gcnew array<aaa^>(2);

bbb[0]->func();

これを実行すると、func()内のn=3のところで「オブジェクト参照がオブジェクト インスタンスに設定されていません。」という実行エラーが起きてしまいます。

クラスを配列でどう宣言すればいいのかわからないので、教えてください。
よろしくお願いします。

引用返信 編集キー/
■49910 / inTopicNo.2)  Re[1]: c++/cliでクラスを配列で宣言する方法
□投稿者/ Hongliang (631回)-(2010/05/21(Fri) 23:16:24)
> bbb = gcnew array<aaa^>(2);
これだけでは配列という箱を作っただけで、その中身までは作られません。bbb[0] などは null のままです。
それぞれの要素について gcnew aaa() などを行う必要があります。
引用返信 編集キー/
■49911 / inTopicNo.3)  Re[2]: c++/cliでクラスを配列で宣言する方法
□投稿者/ みね (2回)-(2010/05/21(Fri) 23:38:04)
No49910 (Hongliang さん) に返信
>>bbb = gcnew array<aaa^>(2);
> これだけでは配列という箱を作っただけで、その中身までは作られません。bbb[0] などは null のままです。
> それぞれの要素について gcnew aaa() などを行う必要があります。


解決しました。

ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -