我想做的是:
- 一個簡單的函式“register_function”,允許用戶指示要呼叫的回呼函式(該用戶已實作)
- 當使用“call_callback”呼叫該函式時,例如能夠像緩沖區一樣傳遞引數
這是我的代碼:
static void (*callback)(int *buffer, int size) = NULL;
void register_callback(void (*ptr)())
{
(*callback) = ptr;
}
void call_callback(int *buffer, int size)
{
(*callback)(buffer, size);
}
問題是我在 register_callback 宣告中有一個編譯時錯誤。
uj5u.com熱心網友回復:
在register_callback()作業中只是:
void register_callback(void (*ptr)( int *buffer, int size ))
{
callback = ptr;
}
請注意,我還在定義中添加了引數宣告,ptr以便編譯器可以檢查傳遞的正確函式指標型別(假設您有相同的原型)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/456462.html
