2014-10-08 123 views
0

我得到内C.C89 - 错误:预期 ')' 之前, '*' 令牌

此错误

错误:之前 '*' 标记

预期 ')',但不能跟踪它。

void print_struct(struct_alias *s) //error within this line 
{ 
... 
} //end of print method 

我的问题是,当收到此错误的地方,错误干回到哪里?它是一个函数的问题,它可以是传入的内容的错误吗? 错误的范围是什么?

+0

显示更多代码,以便我们可以帮助您更好!并且在哪个行号是错误? – Rizier123 2014-10-08 21:36:17

+0

@ Rizier123:这个问题向我们展示了发生错误的行;看到评论。 – 2014-10-08 21:37:18

回答

0

该错误表示在此翻译单元中未声明此类型为struct_alias

2

编译器无法识别名称struct_alias作为类型名称。

对于代码编译,struct_alias就必须声明为typedef,而该声明必须是编译器可见当它看到的print_struct定义。

(typedef名称是棘手实际上,他们成为暂时的用户定义的关键字,这就是为什么他们参与的错误会产生这样的混乱的错误信息。)

这不是专门针对C89;它同样适用于C90(与C89完全相同的语言),C99和C11。

+0

我看着它和你的权利。它没有被声明为typedef。谢谢! – BDillan 2014-10-08 21:40:50

相关问题