小编itm*_*ork的帖子

c 在结构中使用枚举

我想enumc. 但是,我需要enum在另一个内部struct(以避免重复名称)。像这样的东西:

#include <stdio.h>

// define structure as our enum namespace
typedef struct {
    typedef enum {
        Host,
        Cookie,
        Agent
    } Name;
} header_n;

typedef struct {
    header_n::Name key; // using top enum
    char value[128];
} header_t;

int main() {

    header_t header;
    header.key = header_n::Agent;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

事实上,我想使用structfor myenum然后将其enum用作另一个结构中的单独类型,然后将最后一个结构称为完整类型,但我收到以下错误:

error: expected specifier-qualifier-list before 'typedef'
     typedef enum {

error: expected expression before ':' token
     header_n::Name key; …
Run Code Online (Sandbox Code Playgroud)

c enums struct

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1

enums ×1

struct ×1