C g_timeout_add:返回值始终为0
请查看下面的代码C g_timeout_add:返回值始终为0,c,glib,gnome,gnome-3,C,Glib,Gnome,Gnome 3,请查看下面的代码 guint id = g_timeout_add (5000,(GSourceFunc)fun(), NULL); bool fun() { return false; } 问题1。我得到的id值始终为0。 问题2。根据手册页[这是第一次,fun()应该在5秒后被调用,但它会像往常一样被调用 有谁能帮我找到正确的身份证号码并在5秒钟后打电话给fun() 我检查了日志,下面显示了错误 (进程:369):GLib CRITICAL**:g\u超时\u添加\u full:asse
guint id = g_timeout_add (5000,(GSourceFunc)fun(), NULL);
bool fun()
{
return false;
}
问题1。我得到的id值始终为0。
问题2。根据手册页[这是第一次,fun()应该在5秒后被调用,但它会像往常一样被调用
有谁能帮我找到正确的身份证号码并在5秒钟后打电话给fun()
我检查了日志,下面显示了错误
(进程:369):GLib CRITICAL**:g\u超时\u添加\u full:assertion'function!=NULL'失败
我浏览了联机文档,但没有得到适当的答案。要将函数指针传递给g_timeout_add(),不应调用要传递的函数:
guint id = g_timeout_add (5000,(GSourceFunc)fun(), NULL);
guint id = g_timeout_add (5000,(GSourceFunc)fun, NULL);
作为fun()
返回false
,一旦转换为(GSourceFunc)
,它就相当于NULL
正确的调用应该是:
要将函数指针传递给g_timeout_add(),不应调用要传递的函数:
guint id = g_timeout_add (5000,(GSourceFunc)fun(), NULL);
guint id = g_timeout_add (5000,(GSourceFunc)fun, NULL);
作为fun()
返回false
,一旦转换为(GSourceFunc)
,它就相当于NULL
正确的调用应该是: