この問題の原因を見つけることができませんでした。Cスタイルの文字列のポイントの配列へのポインタC++/cli
機能getfruitsはCスタイルの文字列のポアントの配列へのポインタを返します。 メインはCスタイルの文字列にアクセスしようとします。
using namespace System;
#pragma managed
void getfruits(char ***list, int* count)
{
char *txt[] =
{
"apple",
"orange",
"pears",
"banana",
};
*list = txt;
*count = 4;
}
#pragma managed
int main(array<System::String ^> ^args)
{
char **lst; int cnt;
getfruits(&lst,&cnt);
char *t; int i;
String^ s;
for (i=0; i<cnt; i++)
{
t = lst[i]; //t = <undefined value>
s = gcnew String(t);
Console::WriteLine("Fruit = {0}", s);
};
Console::ReadKey();
return 0;
}
しかし、それは、Cスタイルの文字列へのポインタの代わりにを取得します。
結局、
型 'System.AccessViolationException' の未処理の例外はarraysandclasses.exe
で発生しました追加情報:読み取りまたは書き込み保護されているメモリをしようとしました。これはしばしば、他のメモリが壊れていることを示します。
どうしたらいいですか?誰かが何かを指摘できますか?コードをコピーして貼り付けるだけでコードをコンパイルする必要があります。前もって感謝します。