我想寫一個函數指針的映射函數,並將其傳遞給另一個函數,但gcc對我大喊大叫。C:傳遞一個函數指針在它傳遞給函數
這是我想要做的一個想法。
void map(T thing, void apply(int a, int b, void *cl), void *cl);
void function(T thing, void apply(int a, int b, void *cl), void * cl)
{
for(int i = 0; i < 10; i++)
{
map(thing, apply, cl);
}
}
GCC的投訴:
警告:傳遞的 '地圖' 的說法,從2兼容的指針類型
任何想法?
以外沒有任何變化,'map'的簽名是什麼? – strager 2009-10-03 19:08:51
你的代碼適合我編譯,使用gcc 4.3.4(在提供了一些typedef T之後)。你確定你已經發布了提供該問題的**確切**代碼嗎? – 2009-10-03 19:19:06
你確定這是'map'的聲明嗎?現在我不能重現這個問題......它的工作原理 – DigitalRoss 2009-10-03 19:31:51