【发布时间】:2014-08-07 20:38:38
【问题描述】:
我有一个结构体,定义为
typedef struct
{
char* p_hash_start_position;
size_t hash_capacity;
//still a flag is needed since we might start from an empty container.
Hash_Flag hash_status;
char* p_start_position;
char* p_current_position;
size_t capacity;//tagged data capacity
} tagged_data_t;
并且枚举被定义为
typedef enum Hash_Flag
{
TD_HASH,
TD_NO_HASH
} Hash_Flag;
为什么会出现以下错误?
error: expected ',' or '...' before 'Hash_Flag'
【问题讨论】:
-
请创建一个生成错误的简单代码序列:您有两个代码序列,还有一个语法错误,不知道它发生在哪一行。顺便说一句,
typedef struct { ... } tagged_data_t;是 C 风格,试试struct tagged_data_t { ... };,Hash_Flag类似。 -
令牌
...只能合法地出现在函数声明中;它用于声明可变参数函数(如printf)。如果编译器期望看到...标记,那么它一定是在处理函数声明(除非它被严重混淆,这并非不可能)。你没有向我们展示任何看起来像函数声明的东西。您需要更新您的问题以显示产生错误的实际代码。我应该能够将您问题中的代码复制并粘贴到我自己计算机上的文件中,然后自己重现错误。 -
为什么这个问题同时被标记为 C 和 C++?您使用哪种语言?
-
@KeithThompson 我正在使用 C++... 对不起
-
那么,您要更新问题吗?就目前而言,我们无法诊断问题。