内の文字列の行列を作成します。私はこのことについて考えていたC
typedef char *string;
string matrix[100][100];
void init(string input[][]);
が、それは働いていません。誰もがこれを行うにはどのようなアイデアがありますか?
内の文字列の行列を作成します。私はこのことについて考えていたC
typedef char *string;
string matrix[100][100];
void init(string input[][]);
が、それは働いていません。誰もがこれを行うにはどのようなアイデアがありますか?
関数の宣言が間違っています。 functionパラメータにstring input[][]
のようなものは使用しないでください。私はvoid init(string** input);
を使用することをお勧めし はしかし、void init(string input[][100]);
void init(string input[]);
としてそれを宣言するためにOKです - 私はあなたがこれをしたいと思いますか?
がありません。これは文字列の配列になります。私は行列、2D配列が必要です。 –
私は最初、あなたの質問を間違って読んで、あなたが文字列の配列を望んだと仮定しましたが、文字列の2次元配列が欲しいと思われます。エラーerror: array type has incomplete element type
を削除するには
、次のようなinit
を宣言することができます。サイズはすなわち、一定であると予想される場合
void init(string input[100][100])
OR
void init(string (*input)[100])
。 100行、100列。そうでない場合は、行と列の量をinit
に渡します。
しかしchar [] []は文字列ではありませんか?それは私が必要とするものではありません。 char [] [] []のような文字列の行列が必要ですが、それは使用するには複雑すぎるので、typedefを使ってみました。 –
@GeroPerov:申し訳ありませんがあなたの質問を間違って読んだ、あなたが言及したエラーを修正するために編集しました。 – AusCBloke
あなたはvoid init(string input[100][100]);
と言う必要があります。 this questionを参照してください。
何が問題なのですか? – jman
Uuuh、コンパイル、作業。あなたは正確に何がエラーだと思いますか? – ScarletAmaranth
gccにエラーがあります:配列タイプに不完全な要素タイプ –