gpt4 book ai didi

c - ansi c 全局可访问回调

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:04 26 4
gpt4 key购买 nike

我正在尝试使用运行时提供的方法在 c 程序中设置一个全局可访问的回调函数。

到目前为止,我得到了以下内容:

principal.h
-----------

extern Callback globalCallback;

principal.c
-----------

struct Callback {
void (*doubleCallback)(double * speed);
};

some_function(void (*updateDetected)(double*)){
globalCallback.doubleCallback = updateDetected;
}


other.c
-----------

#include "principal.h"

void another_function(){
globalCallback.doubleCallback(&some_double);
}

这给出了一个错误说明:未知类型名称“回调”

我尝试了多种方法并遇到了各种错误。

如果您能提供任何帮助,我们将不胜感激。

最佳答案

你有两个错误:第一个是你没有在每个需要的源文件中定义结构。将结构的定义从 principal.c 源文件移动到 principal.h 头文件。

另一个是您没有定义type Callback,而是定义了同名的结构。这意味着您必须在声明和定义 globalCallback 变量时使用 struct 关键字。

关于c - ansi c 全局可访问回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173389/

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