【发布时间】:2017-06-24 14:31:17
【问题描述】:
我正在尝试制作“Langton 的蚂蚁程序”。 我已经定义了一个结构:
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”之前的预期表达式。
我看不出问题出在哪里。有人知道出了什么问题。我对编码很陌生。
谢谢
【问题讨论】:
-
您至少应该发布
r定义? -
顺便说一句
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]); -
旁注:使用完全等效的
char area[len][len]进行参数声明可以更好地记录您的函数所期望的。这仅适用于人类,但那些必须使用源代码的人。 -
错误在编译器指向的那一行。投票结束是一个简单的错字。