構造体をポインターに入れたい
構造体をポインターに入れたいのですがうまくいきません
どうしたら入れることができますか?
―――ソース―――
struct str{
char *name;
};
static struct str state_ab[60][4] = {
{ { { "いちご" } } , { { "みかん" } } ,{ { "レモン" } } , { { "ブドウ" } } },
{ { { "" } } , { { "" } } ,{ { "" } } , { { "" } } },
};
static struct str state_ab2[60][8] = {
{ { { "きゅうり" } } , { { "セロリ" } } ,{ { "じゃがいも" } } , { { "にんじん" } } , { { "たまねぎ" } } , { { "ニンニク" } } ,{ { "レタス" } } , { { "キャベツ" } } },
{ { { "" } } , { { "" } } ,{ { "" } } , { { "" } } , { { "" } } , { { "" } } ,{ { "" } } , { { "" } } },
};
static struct str state_ab3[60][4] = {
{ { { "牛肉" } } , { { "豚肉" } } ,{ { "鶏肉" } } , { { "魚肉" } } },
{ { { "" } } , { { "" } } ,{ { "" } } , { { "" } } },
};
char *state_ab_f_read( int mode , int num1 , int num2 ){
struct str *p;
switch( mode ){
case 0: p = state_ab; break;
case 1: p = state_ab2; break;
case 2: p = state_ab3; break;
}
return p[ num1 ][ num2 ].name;
}
―――エラー内容―――
c:\documents and settings\user\my documents\visual studio 2008\projects\kami\state_ab_fd.cpp(237) : error C2440: '=' : 'str [60][4]' から 'str *' に変換できません。
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
c:\documents and settings\user\my documents\visual studio 2008\projects\kami\state_ab_fd.cpp(238) : error C2440: '=' : 'str [60][8]' から 'str *' に変換できません。
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
c:\documents and settings\user\my documents\visual studio 2008\projects\kami\state_ab_fd.cpp(239) : error C2440: '=' : 'str [60][4]' から 'str *' に変換できません。
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
c:\documents and settings\user\my documents\visual studio 2008\projects\kami\state_ab_fd.cpp(241) : error C2676: 二項演算子 '[' : 'str' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。(新しい動作; ヘルプを参照)
c:\documents and settings\user\my documents\visual studio 2008\projects\kami\state_ab_fd.cpp(241) : error C2228: '.name' の左側はクラス、構造体、共用体でなければなりません
ビルドログは "file://c:\Documents and Settings\USER\My Documents\Visual Studio 2008\Projects\kami\Debug\BuildLog.htm" に保存されました。
お礼
Cは、ある程度できますよ! C#での開発を頼まれていて、本来ならばポインタなしで全て組み上げなければならないところを、ちょっとズルしようとおったので、ありがとうございます。