はじめまして。ghthです。
WinXPでVisual C++ .NETをやっています。
タイトルの通りなのですが、Windows フォーム アプリケーションでchar型の多次元配列を作成したいのですが、うまくいきません。
何か解決法などがあったら教えてください。
「うまくいきません」とは?
上手くいかないソースを見ないとわかりませんが、
char a[ 3 ][ 4 ];
みたいのではダメでしょうか?
__gcクラス内では
char a __nogc[ 3 ][ 4 ];
と __nogc をつけなければいけませんけど。
MSDN
4.5.3 __gc キーワードおよび __nogc キーワードと配列
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/csref/html/vclrfjaggedarrays.asp
System::Charでマネージドの配列(System::Array)として扱う場合は
System::Char a[,] = new System::Char[ 3, 4 ];
とします。
ただし、System::Charとcharは違うので気をつけてください。
(charならSystem::Byteのほうがよさそう)
ジャグ配列(多段階配列)については良くわかりません。
> ジャグ配列(多段階配列)については良くわかりません。
http://support.microsoft.com/default.aspx?scid=kb;ja;814058
だそうです。
# 2005では[]がarrayキーワードになったのでOKなんですけどね。。。
## 以下参考
## array< array< char >^ >^ a = gcnew array< array< char >^ >( 2 );
## a[ 0 ] = gcnew array< char >( 3 );
## a[ 1 ] = gcnew array< char >( 2 );
> System::Char a[,] = new System::Char[ 3, 4 ];
ちなみに
char型でマネージド配列にする場合は、__gc をつけないといけないですね。
(__gcクラス内ではどうなるか未確認)
char a[,] = new char __gc[ 3, 4 ];
a[ 0, 0 ] = 'a';
ご回答ありがとうございます。
早速試してみます。
ツイート | ![]() |