2012-05-22 30 views

回答

1

不要擺脫的警告 - 修復它。

g_timeout_add_seconds第二個參數是一個函數指針(GSourceFunc)如下:

gboolean (*GSourceFunc) (gpointer user_data); 

gpointer是指向void您使用List* data代替它並不熱衷。

堅持原型,如果你通過List*然後在回調中投它。

+0

^^返回類型是gboolean,參數是一個指針。我的回調原型有什麼問題?什麼是GSourceFunc。你能給我舉一些例子 – user1410356

+0

@ user1410356:你傳遞一個'List *'而不是'void *'。你需要改變你的回調函數,以便它使用'void *',然後使用'reinterpret_cast'在回調函數中從'void *'強制轉換爲'List *'。有關'GSourceFunc'的詳細信息,請參閱(http://developer.gnome.org/glib/2.30/glib-The-Main-Event-Loop.html#g-timeout-add-秒)以及使用'reinterpret_cast'這裏有一些優秀的答案(http://stackoverflow.com/questions/573294/when-to-use-reinterprecast-cast) –

相關問題