C++ 错误:应为`、';或`……';在';之前';代币

C++ 错误:应为`、';或`……';在';之前';代币,c++,linux,sockets,udp,sunos,C++,Linux,Sockets,Udp,Sunos,它可以在intel/linux 64位机器上编译 但我需要编译并在SunOS机器上测试Big/Little Endian。。但它不是编译 Here is the Error: util.h:48: error: expected `,' or `...' before '.' token 以下是第48行声明的标题部分: void addrFromHostname(const char* hostName, in_addr_t *s_addr); 以下是函数的CPP文件: void

它可以在intel/linux 64位机器上编译

但我需要编译并在SunOS机器上测试Big/Little Endian。。但它不是编译

Here is the Error:
   util.h:48: error: expected `,' or `...' before '.' token
以下是第48行声明的标题部分:

 void addrFromHostname(const char* hostName, in_addr_t *s_addr);
以下是函数的CPP文件:

 void addrFromHostname(const char* hostName, in_addr_t *s_addr){
   struct hostent *server;
   server = gethostbyname(hostName);

   if (server == NULL) {
     fprintf(stderr,"ERROR, no such host as %s\n", hostName);
     exit(0);
   }

   bcopy((char *)server->h_addr, (char *)s_addr, server->h_length);
 }

第48行之前的某个地方似乎有语法错误,可能缺少括号或分号。

声明可能不正确。应该是:

void addrFromHostname(const char* , in_addr_t*);
查看它。

搜索linux和SunOS之间可能存在的
#define
#ifdef
差异(
#ifdef linux
例如),并尝试在其中一个块中查找语法错误。您可以让编译器在两个系统上输出和区分预处理代码。