错误:预期')'之前'?'令牌

时间:2013-06-07 03:03:20

标签: c compiler-errors syntax-error

所以我收到此错误,即使我正在编译的代码没有'?'一点都不 我使用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;
}

2 个答案:

答案 0 :(得分:5)

htonl有时被定义为gcc的标准包含文件中的宏。使用其他名称。

答案 1 :(得分:0)

要确保例程实际上是function,而不是macro(某些标准库例程,例如,putchar通常是),您可以使用{{1}像这样:

#undef