нашел книжку, там есть код приложения в качестве примера.
Вот маленький кусочек из него:
if ( phe = gethostbyname(host) )
memcpy(&sin.sin_addr, phe->h_addr, phe->h_length);
else if ( (sin.sin_addr.s_addr = inet_addr(host)) == INADDR_NONE )
errexit("can't get \"%s\" host entry\n", host);
Разве можно в if указывать присвоение переменной значения?
PS C++ знаю в некоторой степени, но с таким столкнулся впервые