【问题标题】:error: expected `,' or `...' before '.' token错误:在 '.' 之前应为 `,' 或 `...'令牌
【发布时间】:2014-03-04 16:24:21
【问题描述】:

它可以在 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);
 }

【问题讨论】:

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

标签: c++ linux sockets udp sunos


【解决方案1】:

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

void addrFromHostname(const char* , in_addr_t*);

检查一下。

【讨论】:

    【解决方案2】:

    在第 48 行之前的某处看起来像是语法错误,可能缺少括号或分号。

    【讨论】:

      猜你喜欢
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      相关资源
      最近更新 更多