c - 在 C 中创建函数指针结构时从未完成的类型错误
问题描述
我正在尝试创建一个包含多个函数指针的结构,但是当我尝试创建该结构的实例时出现错误"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;
谁能阐明我做错了什么?
解决方案
尝试这个 。. .
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;
推荐阅读
- android - 将 Background 属性添加到自定义 TextView 组件,底部只有边框
- java - 如何增加底栏 MPAndroidChart 的字体大小
- jquery - 如何动态更改 rowReorder 的 dataSrc 属性
- python - 如何在 Visual Studio 代码中导入 pygame?
- azure-cognitive-search - Azure 搜索中单个索引的多个索引器?
- python - 无法在 Ubuntu 18.04 上为 python 3.6 安装 Flask-Enterprise
- r-markdown - blogdown rmarkdown::render_site 从与站点不同的项目运行时找不到 config.toml
- javascript - 如何将 URL 参数放入我的自动回复隐藏字段?
- python - 如何附加来自多个模型的回归系数?
- rust - 我如何在不借用 Rust 的情况下进行匹配?