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