Irgendwie habe ich Tomaten auf den Augen, denn ich sehe irgendwie nicht wo der Fehler liegt.
Also, ich habe eine Klasse erstellt, die sidc heisst, in der einige Fkt. deklariert sind...
Ein Bsp. aus meiner sidc.cpp
C/C++ Code:
Meine sidc.h
...wenn ich das jetzt aber kompilieren will kommt immer der Fehler bei allen voids wo ich &sidc:: schreibe...
Hoffe mir kann jemand sagen was ich falsch mache.
danke im voraus
Also, ich habe eine Klasse erstellt, die sidc heisst, in der einige Fkt. deklariert sind...
Ein Bsp. aus meiner sidc.cpp
C/C++ Code:
Code:
void sidc::success() {
gtk_init(NULL,NULL);
dtable = gtk_table_new(2, 1, FALSE);
dbox = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(dbox), "Meldung");
dtext = gtk_label_new("Der Schueler konnte erfolgreich hinzugefuegt werden");
gtk_table_attach(GTK_TABLE(dtable), dtext, 0, 1, 0, 1, GTK_FILL , GTK_FILL, 2, 2);
dok = gtk_button_new_with_label("OK");
gtk_table_attach(GTK_TABLE(dtable), dok, 0, 1, 1, 2, GTK_EXPAND, GTK_FILL, 2, 2);
gtk_signal_connect(GTK_OBJECT(dok), "clicked",GTK_SIGNAL_FUNC(&sidc::destroydbox), NULL); /* Hier soll der Fehler sein,
aber wenn ich nur &destroydbox schreibe,
sagt er mir auch Fehler und will das ich &sidc::destroydbox schreibe
*/
gtk_container_add(GTK_CONTAINER(dbox), dtable);
gtk_widget_show_all(dbox);
gtk_main();
}
Meine sidc.h
Code:
#ifndef _sidcH_
#define _sidcH_
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>
using namespace std;
class sidc {
private:
GtkWidget *window, *table, *text, *label1, *gvname, *gname, *gstrasse, *ghnr, *gplz, *gort, *gtfon, *gtut, *ok, *dbox, *dok, *dtext, *dtable;
fstream temp, students;
public:
sidc();
void toggle_button_callback(GtkWidget *widget, gpointer data);
void destroy(GtkWidget *widget, gpointer data);
void destroydbox(GtkWidget *widget, gpointer data);
void already_exist();
void success();
};
#endif
...wenn ich das jetzt aber kompilieren will kommt immer der Fehler bei allen voids wo ich &sidc:: schreibe...
Code:
Fehler: Umwandlung von »void (sidc::*)(GtkWidget*, void*)« nach »void (*)()«
Hoffe mir kann jemand sagen was ich falsch mache.
danke im voraus