C++ 错误:应为`、';或`……';在';之前';代币
它可以在intel/linux 64位机器上编译 但我需要编译并在SunOS机器上测试Big/Little Endian。。但它不是编译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
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
例如),并尝试在其中一个块中查找语法错误。您可以让编译器在两个系统上输出和区分预处理代码。