2011-12-04 20 views
-4

内の文字列の行列を作成します。私はこのことについて考えていたC

typedef char *string; 

string matrix[100][100]; 

void init(string input[][]); 

が、それは働いていません。誰もがこれを行うにはどのようなアイデアがありますか?

+1

何が問題なのですか? – jman

+0

Uuuh、コンパイル、作業。あなたは正確に何がエラーだと思いますか? – ScarletAmaranth

+0

gccにエラーがあります:配列タイプに不完全な要素タイプ –

答えて

1

関数の宣言が間違っています。 functionパラメータにstring input[][] のようなものは使用しないでください。私はvoid init(string** input); を使用することをお勧めし はしかし、void init(string input[][100]);

0

void init(string input[]);としてそれを宣言するためにOKです - 私はあなたがこれをしたいと思いますか?

+0

がありません。これは文字列の配列になります。私は行列、2D配列が必要です。 –

0

私は最初、あなたの質問を間違って読んで、あなたが文字列の配列を望んだと仮定しましたが、文字列の2次元配列が欲しいと思われます。エラーerror: array type has incomplete element typeを削除するには

、次のようなinitを宣言することができます。サイズはすなわち、一定であると予想される場合

void init(string input[100][100]) 

OR

void init(string (*input)[100]) 

。 100行、100列。そうでない場合は、行と列の量をinitに渡します。

+0

しかしchar [] []は文字列ではありませんか?それは私が必要とするものではありません。 char [] [] []のような文字列の行列が必要ですが、それは使用するには複雑すぎるので、typedefを使ってみました。 –

+0

@GeroPerov:申し訳ありませんがあなたの質問を間違って読んだ、あなたが言及したエラーを修正するために編集しました。 – AusCBloke

0

あなたはvoid init(string input[100][100]);と言う必要があります。 this questionを参照してください。

関連する問題