У меня есть std :: vetor с моей структурой, он глобально размещается в одном файле, а затем некоторая структура передается другой функции, которая помещается в другой файл, а затем снова передается другой функции, которая помещается еще в другую. файл. Возможно ли, что указатель каким-то образом теряется, потому что я получаю нарушение доступа при вызове последней функции.
РЕДАКТИРОВАТЬ: Когда я передал указатель на структуру вместо структуры, он работал.
Я так не получаю эту доску, я не могу отредактировать свой предыдущий пост ... В любом случае, передача указателя также не помогла>.> Возможно, моя функция обратного вызова неверна, я использую поле события, чтобы перехватить 2 раза событие клика по метке :
void test(GtkWidget* widget, GdkEventButton * event, gpointer callback_data)
{
Profil* profil = (Profil*) callback_data;
std::cout << profil->username << std::endl; //<--here it goes nuts
if (event->type == GDK_2BUTTON_PRESS && event->button == 1) OknoPogody(profil);
}
void Glowne_Okno (Profil profil) // <- эта функция в качестве аргумента принимает структуру Profil </p>
который передается раньше и в Glowne_Okno я вызываю функцию обратного вызова:
g_signal_connect (G_OBJECT (Eventy [0]), "button_press_event", G_CALLBACK (test), & profil);
Прежде чем я также позвонил:
gtk_widget_set_events (Eventy [0], GDK_BUTTON_PRESS_MASK)