0
我正在学习C并试图传递结构来回调函数。通过在线资源浏览,但无法传递结构回调函数。这是我的代码。如何将结构传递给回调函数作为参数
// myvariables.h
struct callbackStruct
{
int a;
int b;
int c;
};
extern struct callbackStruct callbackStructObject;
typedef void (*callback)(struct callbackStruct);
extern void callback_reg(callback pointerRefCallback);
// Operations.c
struct callbackStruct callbackStructObject;
void callback_reg(callback pointerRefCallback) {
(*pointerRefCallback)(callbackStructObject);
}
// main.c
struct callbackStruct myCallbackStruct1;
void my_callback(struct callbackStruct myCallbackStruct) {
printf("A value:%d" + myCallbackStruct.a);
}
int main()
{
callback ptr_my_callback = my_callback(myCallbackStruct1);
callback_reg(ptr_my_callback);
return 0;
}
任何人都可以解决这种情况吗?
你能描述一下这个问题吗? (编译器/链接器错误,奇怪的行为...) – purplepsycho
你可以发布[MCVE](http://stackoverflow.com/help/mcve)吗? – purplepsycho
在维基百科文章中,有一个将结构传递给[callback](https://en.wikipedia.org/wiki/Callback_(computer_programming))的C示例。 – user3078414