Так что я получаю эту ошибку, даже если код, который я компилирую, не имеет?? вообще. Я использую gcc как мой компилятор & компоновщик. Какие-нибудь советы о том, почему это происходит?error: expected ')' before '?' Token
Кроме того, когда я удаляю '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 является сетевая команда или предопределенная функция: http://linux.die.net/man/3/htonl – karthikr
Закройте имя функции в круглых скобках: 'unsigned long (htonl) (unsigned long ll)'. Это позволяет избежать расширения 'htonl', если он определяется как функционально подобный макрос. Но тогда вам нужно подумать о том, почему вы переопределяете функцию, уже предоставленную реализацией. –
Есть ли причина, по которой вы предпочитаете собственную версию 'htonl' над встроенной версией? –