gpt4 book ai didi

c - 在 C 中创建函数指针结构时从未完成的类型错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:25 26 4
gpt4 key购买 nike

我正在尝试创建一个包含多个函数指针的结构,但是当我尝试创建该结构的实例时出现错误“变量“stCmdTable”被声明为从未完成的类型”.

我有一个头文件,其中包含以下代码:

typedef int (*pStCmd) (void);

struct stCmdStruc {
pStCmd id;
pStCmd measure;
pStCmd setRelay;
};

typedef struct stCmdStruct stCmdStruct;

stCmdStruct stCmdTable;

我想创建 stCmdTable 并将函数分配给 stCmdTable 中的所有函数指针,但是当它不喜欢我的 stCmdTable 声明时。

我也试过做这样的事情,我尝试用我的结构定义初始化所有函数指针到 bat 的函数,但它真的不喜欢这样告诉我 expected a "; " 在结构中每一行的末尾。

typedef int (*pStCmd) (void);

struct stCmdStruc {
pStCmd id = sendId2;
pStCmd measure = sendMeasurement2;
pStCmd setRelay = setRelay2;
};

typedef struct stCmdStruct stCmdStruct;

stCmdStruct stCmdTable;

任何人都可以阐明我做错了什么吗?

最佳答案

试试这个。 . .

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;

关于c - 在 C 中创建函数指针结构时从未完成的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53062934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com