错误:在 '.' 之前应为 `,' 或 `...'令牌

Posted

技术标签:

【中文标题】错误:在 \'.\' 之前应为 `,\' 或 `...\'令牌【英文标题】: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)并尝试在其中一个块中查找语法错误。你可以让你的编译器在两个系统上输出和区分预处理的代码。 【参考方案1】:

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

void addrFromHostname(const char* , in_addr_t*);

检查一下。

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于错误:在 '.' 之前应为 `,' 或 `...'令牌的主要内容,如果未能解决你的问题,请参考以下文章

错误:数字常量之前应为“)”

C++ 构造函数错误 - 标记 '<' 之前应为 ')'

语法错误:应为“(”或“,”或关键字 SELECT 但脚本结束

Python CNN LSTM(值错误步幅的长度应为 1、1 或 3,但为 2)

语法错误:应为“(”或“,”或关键字 SELECT,但在 [6:1] 处获得关键字 DELETE

反应本机错误!元素类型无效:应为字符串或类/函数,但得到:未定义