keil 中结构体和指针的问题……

自己写了一个迷宫的游戏,想用双色点阵模拟出探路经过……然后……定义了这样一个结构体:structLattice{intx;inty;intwallflag;intdirf... 自己写了一个迷宫的游戏,想用双色点阵模拟出探路经过……
然后……
定义了这样一个结构体:
struct Lattice
{
int x;
int y;

int wallflag;
int dirflag;
int step;
};
//////////// Lattice operations /////////////////////
一个函数(参数里有个这个结构体的指针):
void LatticeInit(Lattice* Lat, int xx = 0, int yy = 0, int wall = 0, int stepNum = 0)
{
Lat->x = xx;
Lat->y = yy;
Lat->wallflag = wall;
Lat->dirflag = EAST;
Lat->step = 0;
}

编译的时候报错:
双色点阵双色交替动态显示.C(30): error C141: syntax error near '*', expected ')'
双色点阵双色交替动态显示.C(32): error C202: 'Lat': undefined identifier
双色点阵双色交替动态显示.C(33): error C202: 'Lat': undefined identifier
双色点阵双色交替动态显示.C(34): error C202: 'Lat': undefined identifier
双色点阵双色交替动态显示.C(35): error C202: 'Lat': undefined identifier
双色点阵双色交替动态显示.C(36): error C202: 'Lat': undefined identifier
还有其他的结构体都这样。。。。。
刚开始用c++写的,在vc6.0里改成了C的正常运行,放keil里报错,不知道怎么回事……小弟刚刚开始学习单片机滴……大虾们不吝赐教啊!?
展开
 我来答
great嗜睡
2012-10-05
知道答主
回答量:20
采纳率:0%
帮助的人:15万
展开全部
void LatticeInit(Lattice* Lat, int xx = 0, int yy = 0, int wall = 0, int stepNum = 0)
在这一行上结构体名前加上struct,
改为void LatticeInit(struct Lattice* Lat, int xx , int yy , int wall , int stepNum )
就可以了,因为在C中(C++可以),必须用struct +自定义标识符表示结构体,或者typedef 一下也行。 C也不支持默认形参。
dsl1784
2012-10-05
知道答主
回答量:39
采纳率:0%
帮助的人:28.9万
展开全部
typedef struct
{
int x;
int y;
int wallflag;
int dirflag;
int step;
}Lattice;

这么定义试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
记住一座城
2012-10-05 · TA获得超过728个赞
知道小有建树答主
回答量:1091
采纳率:33%
帮助的人:658万
展开全部
c语言支持默认形参吗。
追问
试过了,去掉还是一样的……
追答
没学过单片机,提示什么错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式