我正在尝试创建一个包含多个函数指针的结构,但是当我尝试创建该结构的实例时,会出现错误"variable "stCmdTable" was declared with a never-completed type"
。
我有一个头文件,其中包含以下代码:
typedef int (*pStCmd) (void);
struct stCmdStruc {
pStCmd id;
pStCmd measure;
pStCmd setRelay;
};
typedef struct stCmdStruct stCmdStruct;
stCmdStruct stCmdTable;
我想创建stCmdTable
并将函数分配给stCmdTable中的所有函数指针,但是当它不喜欢我的stCmdTable
声明时。
我还尝试过类似的操作,在该方法中,我尝试使用结构定义来初始化指向蝙蝠函数的所有函数指针,但实际上并不喜欢这样告诉我expected a ";"
结构中每一行的结尾。
typedef int (*pStCmd) (void);
struct stCmdStruc {
pStCmd id = sendId2;
pStCmd measure = sendMeasurement2;
pStCmd setRelay = setRelay2;
};
typedef struct stCmdStruct stCmdStruct;
stCmdStruct stCmdTable;
有人可以告诉我我在做什么错吗?
答案 0 :(得分:1)
尝试一下。 。
typedef int (*pStCmd_Type) (void);
typedef struct _stCmdStruct {
pStCmd_Type id;
pStCmd_Type measure;
pStCmd_Type setRelay;
} stCmdStruct_Type;
stCmdStruct_Type stCmdTable[your_table_size];
stCmdTable[0].id = sendId2;
stCmdTable[0].measure = sendMeasurement2;
stCmdTable[0].setRelay = setRelay2;