Klasse-Konstruktor Problem

Alles rund um die Programmierung mit Qt
Antworten
Karldin Shinowa
Beiträge: 30
Registriert: 3. Mai 2006 18:12

Klasse-Konstruktor Problem

Beitrag von Karldin Shinowa »

Code: Alles auswählen

#include<QWidget>

class LCD;
class QLCDNumber;

class ErgebnisLCD:public QWidget
{
      Q_OBJECT

   private:
      QLCDNumber*lcd3;
      int value;
      LCD*lcd1;
      LCD*lcd2;
      
   public:
      ErgebnisLCD(LCD* lcd1,LCD* lcd2,QWidget* parent=0);
      //expected ) before '*' token
   
   public slots:
      void calculate();
      void showValue();
};
es gibt noch andere fehler aber ich glaube das is ne Kettenreaktion..
Wer früher stirbt ist länger tot
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Mh, welchen Fehler gibt es denn nun wo?

Ich sehe ein Stück Code, vermisse aber deine Fehlerausgabe vom Compiler, oder auch deine eigene Fehlerbeschreibung. Vielleicht postest du noch einmal genau, was dein Problem ist.
Karldin Shinowa
Beiträge: 30
Registriert: 3. Mai 2006 18:12

Beitrag von Karldin Shinowa »

also:

Code: Alles auswählen

//ErgebnisLCD.h
#define ErgebnisLCD

#include<QWidget>

class LCD;
class QLCDNumber;

class ErgebnisLCD:public QWidget
{/*<----- an anonymous union cannot have function members */
      Q_OBJECT

   private:
      QLCDNumber* lcd3;
      int value;
      LCD*lcd1;
      LCD*lcd2;
      
   public:
	ErgebnisLCD(LCD* lcd1,LCD* lcd2,QWidget* parent=0);/*<-----
        expected `)' before '*' token*/ 
        
   public slots:
      void calculate();
      void showValue();
};/*<---- abstract declarator `<anonymous class>' used as declaration 
               namespace-scope anonymous aggregates must be static */
#endif

Code: Alles auswählen

//main.cpp
#include"ErgebnisLCD.h"
#include<QApplication>
#include<QWidget>
#include<QGridLayout>

class MyWindow:public QWidget
{
   public:
   	MyWindow(QWidget*parent=0)
      	:QWidget(parent)
   	{
   		LCD*lcd1=new LCD;
      	LCD*lcd2=new LCD;
        ErgebnisLCD* lcd3=new ErgebnisLCD(lcd1,lcd2);/*<------
        `lcd3' undeclared (first use this function)
         expected identifier before ';' token  */
      
      	QGridLayout*grid=new QGridLayout;
			grid->addWidget(lcd1,0,0);
			grid->addWidget(lcd2,0,1);
         grid->addWidget(lcd3,0,2);
      
      	setLayout(grid);
   	}
};

   
int main(int argc,char* argv[])
{
   QApplication app(argc,argv);

	MyWindow window;
   window.show();
   
   return app.exec();
}
Wer früher stirbt ist länger tot
Karldin Shinowa
Beiträge: 30
Registriert: 3. Mai 2006 18:12

Beitrag von Karldin Shinowa »

Habs mir nochmal angeschaut finde den fehler nicht. für alle dies nicht bemerkt haben die fehle steghen in kommentaren dabei. Wer noch mehr code braucht bitte sagen
Wer früher stirbt ist länger tot
Karldin Shinowa
Beiträge: 30
Registriert: 3. Mai 2006 18:12

Beitrag von Karldin Shinowa »

FÄLLT KEINEM WAS EIN? PLZ :cry: :cry:
Wer früher stirbt ist länger tot
DocBrain
Beiträge: 5
Registriert: 16. Mai 2006 15:44

Beitrag von DocBrain »

schau dir mal dein #define an.

Du erzeugst eine konstante ErgebnisLCD die leer ist und weiter unten macht der Prepropreccor dann ein
class : public QWidget <- anonym ^^

Mach halt #define __ErgebnissLCD__
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Wie hast du den Konstruktor eigentlich implementiert?

MfG

Edit: Dein Define heißt genauso wie deine Klasse. Änder das doch mal.
Karldin Shinowa
Beiträge: 30
Registriert: 3. Mai 2006 18:12

Beitrag von Karldin Shinowa »

so habs jetzt geschafft thx
Wer früher stirbt ist länger tot
Antworten