Fehler: a function-definition is not allowed here before »{« token

sim4000

sim4000

Lebende Foren Legende
Hallo.
Ich hab mich jetzt mal mit Objekten beschäftigt, und schon gibts wieder n Compilerfehler aus dem ich nicht schlau werde. Und zwar:

Code:
sim4000@sim2:~/Desktop/filemaker> g++ fm_main.cpp
fm_main.cpp: In function »void abfrage()«:
fm_main.cpp:6: Fehler: a function-definition is not allowed here before »{« token
fm_main.cpp:11: Fehler: expected `}' at end of input

hierzu der sourcecode:

Code:
#include "fm_gruss.cpp"
#include "fm_dtyp.cpp"
#include "fm_make.cpp"


int main(void) {

gruss grusstext("Filemaker 1.0 Beta - Komfortabel Dateien erstellen.");
dtyp abfrageText("Bitte geben sie den Dateitypen ein. (z.B. cpp)");

return 0;

}

Ist bestimmt wieder n Schusselfehler... :rolleyes:
Hab aber allerdings schon fast ne stunde gegooglet und diesen Code angebeamt.
Hat wer n Plan?

Mfg, sim4000.
 
Schau so aus, als ob Du eine schließende "}" vergessen hat (in einer Deiner #includes, der Compiler ist wohl noch "innerhalb" einer Funktion ...

Heiko

PS: Versuch doch mal, die Includes einzelnd zu übersetzen, jede für sich.
 
Scheint so.
Ich finde aber trotzdem nichts. Ausserdem dachte ich immer, das wenn in zb einer methode noch ein Fehler ist, er den Dateinemen der Methode anzeigt....

Naja, ich konnte den Fehler auf zwei Dateien eingrenzen.

fm_dtyp.cpp
Code:
#include "fm_dtyp.h"

dtyp::dtyp(string abfrage) {
        abfrage = Abfrage;
        ausgabe();
};

void dtyp::ausgabe(void) {
        cout << "hallo";
}

und fm_dtyp.h
Code:
#include <iostream>
#include <stdlib.h>
#include <string>

using namespace std;

class dtyp {
  private:
    string Typ;
    string Abfrage;

  public:
    dtyp(){};
    dtyp(string abfrage);
    void abfrage(void);
    void ausgabe(void);
    void dateitypen(void);
};

Ich finde da nichts! Kann doch nich war sein...
Kann da einer von euch n Fehler erkennen?

Mfg, sim4000.
 
versuch' mail ein "void" vor dtyp::dtyp(string abfrage) in fm_dtyp.cpp

Heiko
 
man kann einen konstruktor keinen rückgabewert geben.
bringt ne Fehlermeldung.
Code:
fm_main.cpp:2: Fehler: expected constructor, destructor, or type conversion before string constan

Ausserdem hab ichs so in einem anderen Objekt, und das macht keine Probleme. So langsam zweifel ich an mir....
Mfg, sim4000.
 
Also bei mit übersetzt g++ das wunderbar ...

Im Konstruktor solltest Du noch Abfrage und abfrage tauschen, sondert ist das Argument wertlos ...

Welchen g++ nimmst Du den ?

Heiko
 
sim4000@sim2:~/Desktop/filemaker> g++ --version
g++ (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)
Copyright (C) 2005 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.

kannste das was du kompiliert hast mal posten?
Mfg, sim4000.

//edit
Es war wirklich ein schusselfehler.
Ich hab mich bei dem aufruf von vi verschieben. Somit hat er eine neue Datei geschrieben, wo auch alles richtig drin stand. Aber in der includeten Datei blieb es flasch.... Hab ja gesagt das ist wieder nur schussel....
Naja, trotzdem Danke für eure Tipps.
 
Zuletzt bearbeitet:

Ähnliche Themen

NagiosGrapher 1.7.1 funktioniert nicht

g++ kompilieren schlägt fehl

c++ syntax: iterator fuer struct in template Klasse

TrueCrypt 5.0a installieren

AirSnort unter Suse 10.3

Zurück
Oben