C++ NotifyHeader.code导致segfault

C++ NotifyHeader.code导致segfault,c++,gtk,scintilla,C++,Gtk,Scintilla,我试图用闪烁体从sci notify信号中获取通知代码,但我得到了一个segfault。这是我的密码: void scinot(GtkWidget *s, SCNotification *notify, gpointer u) { NotifyHeader nmhdr = notify->nmhdr; std::cout << nmhdr.code << std::endl; } void scinot(GtkWidget*s、SCNotifica

我试图用闪烁体从sci notify信号中获取通知代码,但我得到了一个segfault。这是我的密码:

void scinot(GtkWidget *s, SCNotification *notify, gpointer u)
{
    NotifyHeader nmhdr = notify->nmhdr;
    std::cout << nmhdr.code << std::endl;
}
void scinot(GtkWidget*s、SCNotification*notify、gpointer u)
{
NotifyHeader nmhdr=通知->nmhdr;

std::cout您的函数签名错误。根据,它应该如下所示:

处理程序(GtkWidget*、gint、SCNotification*通知、gpointer用户数据)

(您缺少gint),使您的功能:

void scinot(GtkWidget *s, gint i,SCNotification *notify, gpointer u)
{
    NotifyHeader nmhdr = notify->nmhdr;
    std::cout << nmhdr.code << std::endl;
}
void scinot(GtkWidget*s、gint i、SCNotification*notify、gpointer u)
{
NotifyHeader nmhdr=通知->nmhdr;

std::cout如果你想知道为什么你没有评论或回复:你提供的信息不可能说任何东西。看一看或寻求一般性建议。在实践中,你应该(至少)提供显示
scinot()内容的代码
函数用于--例如,如果它是一个信号处理器,则需要显示如何连接它以及连接到什么。