programming - C++-Fehler "Mehrere Typen in einer Deklaration"




programme beispiel (8)

Warum erhalte ich den Fehler "multiple types in one declaration" , wenn ich mein C ++ - Programm kompiliere?


Answers

Ich vermute, Sie vermissen eine schließende Klammer irgendwo in einer Klassendefinition oder ein Semikolon danach.


Stimmen Sie dem ab. Wenn Sie dies sehen, bereiten Sie die App vor und sehen Sie sich die .i-Suche nach dem Namen "beleidigend" an. Dann schau zurück. Sie sehen oft das "}" ohne / ";" auf einer Klasse im ersten nicht mit Leerzeichen darüber. Das Problem zu finden ist oft schwieriger als zu wissen, was es ist.


Sie haben wahrscheinlich Code, der dem entspricht

int float x;

wahrscheinlich

class Foo { } float x;

oder in seiner allgemeineren Form (beachten Sie das fehlende Semikolon nach dem Schließen der geschweiften Klammer)

class Foo {
  //
}

float x;

Hier ist ein weiteres Szenario, das den gleichen Fehler anzeigen kann

struct Field
{   // <------ Forget this curly brace
    enum FieldEnum
    {
        FIRSTNAME,
        MIDDLENAME,
        LASTNAME,
        UNKNOWN
    };
};

Ich hatte das gleiche Problem. Manchmal zeigt die Fehlerzeile nicht die richtige Stelle. Gehen Sie alle neu erstellten / geänderten Klassen durch und sehen Sie, ob Sie ";" vergessen. am Ende der Klassendefinition.


Vergiss nicht zu prüfen ; auch nach enum deklarationen.


Möglicherweise haben Sie in einer Vorwärtsdeklaration auch ein Semikolon vergessen:

class Foo // <-- forgot semicolon

class Bar {
  ...
};

Das ist genau das Gleiche wie

while (x--)
{
   printf("%d ", x);
}

für nicht negative Zahlen







c++