Я действительно не знаю, почему у меня эта ошибка переопределения
GtkwidgetDef.h
#include <gtk/gtk.h>
class GtkwidgetDef
{
public:
GtkWidget* display;
GtkwidgetDef(GtkButton* button);
};
GtkwidgetDef.cpp
#include "GtkwidgetDef.h"
extern "C" GtkWidget* lookup_widget(GtkWidget* widget, const gchar* widgetName);
GtkwidgetDef::GtkwidgetDef(GtkButton* button){
display = lookup_widget(GTK_WIDGET(button), "display");
}
эти две функции справедливыопределение и конструктор
MesFonctions.cpp
#include "MesFonctions.h"
#include <math.h>
string str;
gchar str1[9] = "";
void showText(GtkwidgetDef widgets, gchar* label)
{
gtk_entry_set_text(GTK_ENTRY(widgets->display), label);
}
.........
CALCU.h
#include <gtk/gtk.h>
typedef enum Event{ SEVEN_CLICKED, PLUS_CLICKED, VALIDE } Event;
int processEvent(Event e, GtkButton* button);
CALCU.cpp
#include "CALCU.h"
#include "MesFonctions.h"
#include "GtkwidgetDef.h"
int processEvent(Event e, GtkButton* button)
{
//GtkwidgetDef* widgets = new GtkwidgetDef();
//label = gtk_button_get_label(button);
GtkwidgetDef widgets(button);
gchar* label;
strcpy(label, gtk_button_get_label(button));
string s;
switch(e)
{
case SEVEN_CLICKED:
//showText(*widgets, label);
showText(widgets, label);
s = "7";
pushValue(s);
break;
case PLUS_CLICKED:
//showText(*widgets, label);
showText(widgets, label);
s = "+";
pushValue(s);
break;
case VALIDE:
showResult();
break;
}
}
Интересно, смогу ли я сделатьошибка здесь в этой строке GtkwidgetDef widgets (button);