Seite 1 von 1

[gelöst] Fehler in automatisch erzeugtem main()

Verfasst: 6. Januar 2010 23:29
von qtNiko
hi,

ich arbeite mit der Qt 4.3 und der Qt-Integration von Eclipse-CDT. Dabei wird main() stets automatisch erzeugt, was bisher auch immer geklappt hat. Es sieht ganz normal aus:

Code: Alles auswählen

#include "imgview.h"

#include <QtGui>
#include <QApplication>

int main(int argc, char *argv[])     // Zeile 6
{
    QApplication a(argc, argv);
    ImgView w;
    w.show();
    return a.exec();
}
Beim Compilieren erhalte ich jedoch die Fehlermeldung

Code: Alles auswählen

new types may not be defined in a return type	ImgView	main.cpp	line 6	
two or more data types in declaration of ‘main’	ImgView	main.cpp	line 6	
Die Zeile 6 ist die Zeile mit "int main(...."


Was soll denn damit nicht stimmen?

Es handelt sich zwar vom Code her nicht um ein Qt-Problem, ab ich melde dies hier, weil eben der Code automatisch durch die Qt-Integration in Eclipse erzeugt wurde.

Verfasst: 7. Januar 2010 08:58
von solarix
Zeig mal "imgview.h"...

Verfasst: 9. Januar 2010 16:29
von qtNiko
hi,
hab' die Anfrage etwas verschlafen :?

Hier ist imgview.h:

Code: Alles auswählen

#ifndef IMGVIEW_H
#define IMGVIEW_H

#include <QtGui/QWidget>
#include <QtGui>
#include "ui_imgview.h"

#define UINT16 short int
#define LINT32 int 
#define BYTE unsigned char

enum DISP_ART{orig=1, grad, richtg};
enum FILE_ART{bildf=0, filterergf};

typedef struct
{
	UINT16 bbr, bho;	
    UINT16 gmin, gmax;
   
} BILD_INFO;

class ImgView : public QMainWindow, private Ui::MainWin_GUI
{
    Q_OBJECT

public:
    ImgView(QWidget *parent = 0);
    ~ImgView();

private slots:
	void bild_laden(void);
	void filtererg_laden(void);
	
private:
	void load_image(FILE_ART fileart);
    void disp_image();
    void disp_bild(UINT16* ptr_16bild, LINT32* ptr_bild, 
    					DISP_ART dispArt, BILD_INFO* binfo);
    void overlay_edges(LINT32* ptr_bild);
    void on_checkB_edgepix_stateChanged();
    void on_checkB_richtg_stateChanged();
    void on_spinB_dircode_setValue(int);
    void refresh_overlays();
    void mousePressEvent(QMouseEvent *event);
    
    QLabel* cpos;  // für Statusbar
	QLabel* cval;  // für Statusbar
	QButtonGroup *displayb;
    UINT16 ptr_obild[256*256];
    LINT32 ptr_fbild[256*256];
    BYTE ptr_dispbild[256*256 + 20]; 	// 20 für den Header
    int displayArt;
    
    QPixmap bild;	// für die Darstellung im QLabel bild_ausgabe
    
    BILD_INFO binfo, ginfo;	// Größe und min/max für Bild und Gradienten
    
}

#endif // IMGVIEW_H
Es wäre toll, wenn du da etwas herauslesen könntest

Verfasst: 9. Januar 2010 18:48
von Christian81
Standard-Problem - ';' am Klassenende fehlt...

Verfasst: 9. Januar 2010 21:45
von qtNiko
wow,

kleine Ursache, große Wirkung!
Ich war schon dabei, alles neu aufzuziehen - stückweise - um zu sehen, wann es passiert.
Das muss irgendwann aus Versehen passiert sein. Denn ich hatte schon eine lauffähige Version, allerdings fehlte da noch vieles. Beim Editieren ist es dann wohl passiert.

Vielen Dank :D