PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rückgabe funzt net...



Mat
09-10-2005, 17:56
hallo bei folgendem code funktioniert einfach die rückgabe nicht - ich arbeite mit QT 3.3 !!!!:

Header:



class QString;
class Qmap;

class Generate
{

public:
Generate();
~Generate();

//Methods
QMap< QString, QString > generate_map();

};


cpp datei:


#include "generate.h"

#include <iostream>
#include <qstring.h>
#include <qlineedit.h>
#include <qcombobox.h>
#include <qmap.h>
using namespace std;

Generate::Generate()
{
QMap< QString, QString > tcl_data;
tcl_data = generate_map();
}

GenerateTCL::~GenerateTCL()
{
}

QMap< QString, QString> Generate::generate_map()
{
QMap<QString, QString> data_map;
//Hier erstelle ich korrekt eine map!!!

return data_map;
}


fehlermeldung:



generate.h:15: error: Fehler beim Parsen before `)' token
In Datei, eingefügt von generate.cpp:2:
generate.cpp: In constructor `GenerateTCL::GenerateTCL()':
generate.cpp:22: error: `generate_map' undeclared (first use this function)
generate.cpp:22: error: (Each undeclared identifier is reported only once
for each function it appears in.)
generate.cpp: At global scope:
generate.cpp:49: error: no `QMap<QString, QString> Generate::generate_map()' member function declared in class `Generate

Kirsche
09-10-2005, 18:06
Hallo Mat,

tcl_data ist nirgendwo deklariert, und du bindest qmap statt QMap ein ( es sei denn, dass ist nur hier ein Schreibfehler).

Probier doch mal eine andere Rückgabe aus, z.B. bool. Dann siehst du, ob es an QMap liegt oder an der ganzen Funktion und dem Funktionsaufruf.

Schöne Grüße,

Mat
09-10-2005, 18:12
hi danke für die Antwort......
wieso.....im KOnstruktor deklariere ich doch tcl_data !!!
Und da ich unter qt 3.3 arbeite ist das includen von <qmap.h> richtig oder nicht ?
andere rückgaben funktionieren......also ein int geht....

wenn du die headerdatei meinst:
mit QMap kommt als Fehlermeldung:


generate.h:15: error: non-template type `QMap' used as a template
generate.h:15: error: ISO C++ forbids declaration of `generate_map' with no type

anda_skoa
09-10-2005, 18:25
Du mußt qmap.h im Header inkludieren, sonst weiß der Kompiler nicht, daß es ein Template ist.

Ciao,
_

Mat
09-10-2005, 18:36
ahhh danke...jetzt gehts!

Kirsche
09-10-2005, 19:10
Hallo Mat,

sorry, hatte ich nicht gesehen. Obwohl es eine Zeile darüber stand. :o

Schöne Grüße,