参数类型不完整

时间:2013-02-15 10:21:05

标签: c struct typedef

我在最后一行收到警告“参数有不完整类型”。 但我不明白为什么。

struct clockClass {
    uint32_t (*getClock) (void);
    bool (*setCorrectionFactor)(uint32_t newCorrectionFactor);
    uint32_t (*getCorrectionFactor) (void);
};

/* Type definition for ::virtualClock  */
typedef struct clockClock ClockClass;

/* VC Synchronization Class */
struct vcSync_sRio {
    bool (*vcSync)(ClockClass me);  /*Warning LINE*/
};

2 个答案:

答案 0 :(得分:1)

这似乎只是一个错字:您定义了struct clockClass,但您的typedef定义了struct clockClock的别名。

将您的typedef更改为:typedef struct clockClass ClockClass;

答案 1 :(得分:0)

将行更改为:

bool (*vcSync)(struct ClockClass me);

或将另一行更改为:

typedef struct ClockClass ClockClass;