[英]error: expected ';', ',' or ')' before '=' token
[英]error: expected ‘)’ before ‘?’ token
因此,即使我正在编译的代码不包含“?”,我仍会收到此错误。 完全没有 我正在使用gcc作为我的编译器和链接器。 为什么会这样呢?
另外,当我从函数名称中删除“ l”时,错误消失了。 我糊涂了。
显示错误的代码段:
unsigned long htonl(unsigned long ll) //Says error is on this line
{
UDWord x;
UDWord y;
x.ul = ll;
y.uc[0] = x.uc[3];
y.uc[1] = x.uc[2];
y.uc[2] = x.uc[1];
y.uc[3] = x.uc[0];
return y.ul;
}
htonl有时在gcc的标准包含文件中定义为宏。 使用其他名称。
为了确保例程实际上是一个function
,而不是macro
(某些标准库例程是,例如putchar
通常是),可以使用#undef
如下所示:
#undef htonl
unsigned long htonl(unsigned long ll)
{
UDWord x;
UDWord y;
x.ul = ll;
y.uc[0] = x.uc[3];
y.uc[1] = x.uc[2];
y.uc[2] = x.uc[1];
y.uc[3] = x.uc[0];
return y.ul;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.