「ラングトンのアリプログラム」を作ろうとしています。構造体を定義しました:
typedef struct Ant
{
int x;
int y;
int b;
}Ant;
そして私は機能を持っています:
int st(Ant *ant, int len, char (*area)[len]);
しかし、メイン関数内でこの関数を呼び出そうとすると、
int main()
{
[..... ]
char r[l][l];
Ant ant;
ant.x = 0;
ant.y = 0;
ant.b = 2;
st(Ant *ant, l, r);
return 0;
}
エラーが発生します:「Ant」の前に式が必要です。
問題がどこにあるのかわかりません。誰かが何が悪いのか知っていますか?私はコーディングにとても慣れていません。
ありがとう
関数st
はAnt
最初の引数としてへのポインタを受け取るため、変数のアドレスを渡す必要がありますant
(*
実際にの内容を示す場合と同様ant
)。次の行を変更します。
st(Ant *ant, l, r);
に:
st(&ant, l, r);
関数のプロトタイプは次のとおりです。
int st(Ant *ant, int len, char (*area)[len]);
プロトタイプを変更する必要はありませんが、コードをより自己文書化するために、これを確認することもできます。
int st(Ant *ant, int len, char area[len][len]);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加