所以我收到此错误,即使我正在编译的代码没有'?'一点都不 我使用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;
}
答案 0 :(得分:5)
htonl有时被定义为gcc的标准包含文件中的宏。使用其他名称。
答案 1 :(得分:0)
要确保例程实际上是function
,而不是macro
(某些标准库例程,例如,putchar
通常是),您可以使用{{1}像这样:
#undef