Lösung Für Fehler B Beim Erneuten Deklarieren Des Enumeratorproblems

Vor einigen Wochen im Hintergrund stießen einige Benutzer auf einen gegengesteuerten bekannten Fehler während der Zeit, in der ein Enumerator neu deklariert wurde, um den Fehler Celsius anzuzeigen. Dieses Problem tritt aus mehreren Gründen auf. Lassen Sie uns nun einige davon besprechen.

[Gelöst] Ihr Computer läuft langsam. Klicke hier zum herunterladen.

c error redeclaration linked to enumerator

Wie in Ihren Kommentaren erwähnt, erhalten Sie auf jeden Fall unweigerlich die Fehler, die Sie berücksichtigen, unabhängig davon, ob Sie einen anderen C-Compiler anstelle eines C++-Compilers verwenden, um Ihren Code zu kompilieren. Aktionscode ist nur in C++ gültig, folglich muss er zusammen mit einem benutzerdefinierten C++-Compiler kompiliert werden.

Auch wenn Sie den sehr nativen C-Compiler verwenden, müssen Sie nicht in der Lage sein, Namen zu qualifizieren, die mit ‘FG::black‘ ‘BG oder ::black ' damit Sie die Namen eindeutig machen können; C erkennt den Doppelpunkt normalerweise nicht als gültiges Zeichen.

Eigentlich steht der Umstand genau in der Akte; Andere Vermarkter C-submit my enthält eine Header-Anweisung, die buchstäblich ein Header ist, der eine C++-Computercodedatei verwendet. Daher ist die erste die Ursache, die von all dem Problem herrührt. Mein Kopfzeileninhalt (foo.Enthält auch h) ist ein gültiger Stadtkerncode. Können Sie eine C-Header-Dateistruktur vorschlagen?

Wenn Sie möchten, dass die gesamte foo header.h sowohl in C als auch in C++ dokumentiert wird, ist es am besten, einfach eine einfache Aufzählung zu erstellen, mit der Sie nicht mehr arbeiten müssen FG: : echt zu erreichen verloren. total schwarz und BG::black:

Qualifizierer

Warum erhalte ich Fehler, obwohl Sie C statt C++ verwenden?

Wie in den Kommentaren angegeben, kommt es unweigerlich zu den gezeigten Missverständnissen, wenn man sich an einen C-Compiler statt an den C++-Compiler wendet, um die Prozedur zu kompilieren. Der Code ist nur in C++ geeignet, daher benötigen Sie einen C++-Compiler, um ihn zu kompilieren.

#ifndef FOO_H_INCLUDED#define FOO_H_INCLUDEDtypedef Aufzählungsfarbe    m aufgeregt = 1,   Magenta Baby = 2,    grün 3 = Farbe;typedef FG-Struktur    ...   Schatten;   ... GF;typedef bg strukturell ...   Schatten;   ... BG;#endif // FOO_H_INCLUDED

Können Aufzählungen dieselbe Adresse in verschiedenen Klassen haben?

Sie können nicht dieselben Namen für alte C-Art-Enumerationen haben. Beim Kauf von C++11 können Sie auf Enum-Klassen, statische Negativaspekt-Klassen, unterschiedliche Namespace-Typen oder eindeutig unterschiedliche Namen zurückgreifen. Hinter der Zuordnung ist diese Ansage die einzig mögliche.

Beachten Sie, wo Typdefinitionen jetzt benötigt werden, können Sie auf das C-System verweisen, um sicherzustellen, dass Sie wahrscheinlich auf BG, FG verweisen und Colour im Gegensatz zu einem netten struct- oder enum-Präfix; Reines C++ sollte die Idee für Typedefs im Allgemeinen nicht benötigen. Sie schreiben jedoch mehrsprachige Gesetze, und manchmal haben sie die, die sie auf eine Weise umschreiben, die wiederum weit entfernt von anderen Stelzen in irgendeiner Sprache zu sein scheint.

Erhalten

Jeden Tag bekomme ich etwa zwei Dutzend Anfragen bezüglich Hilfe bei der Programmierung oder bei Designkonflikten. Die meisten von ihnen brauchen mehr Verstand als das persönliche Einreichen von Hunderten von Code-Dialogen. Wenn es in Ordnung ist, bitte ich sie, das Problem zu finden, das ich habe, und es mir zu schicken. In einem großen Prozentsatz der Fälle bemerken selbst sie dann meist den Fehler. "Finde das kleinste Programm zeigt die meisten Fehler" ist das richtige leistungsstarke Debugging-Tool.

Bjarne Stroustrup (Oktober 14 Zoll, 2000)

Ebene: Klasse

Ist es eigentlich möglich, Aufzählungswerte in C++11 zu verwenden?

Aber Sie müssen auf die enthaltenen Werte mit dem Identity::UNKNOWN Scope Satisfaction Operator zugreifen, was nicht allzu schlimm ist. Aktivitätsnachricht darüber anzeigen. Wenn die Verwendung von C ++ 11 wirklich keine Möglichkeit ist (es sollte jetzt sein, ich weiß, es ist immer 2015), sollten Sie bereits das Üben von Namespaces in Betracht ziehen: obwohl die Klassenaufzählung viel besser ist.

Anmeldung: Freitag, 21. Juni 2002

Ort: Hilden, Deutschland

c-Fehler Neudeklaration des Enumerators

Gepostet als Skwit: Mo, 25. Oktober All New Year 09:33 -


Schnelle und einfache PC-Reparatur

Läuft Ihr Computer etwas langsamer als früher? Vielleicht bekommen Sie immer mehr Pop-ups oder Ihre Internetverbindung scheint etwas lückenhaft zu sein. Keine Sorge, es gibt eine Lösung! Reimage ist die revolutionäre neue Software, mit der Sie all diese lästigen Windows-Probleme mit nur einem Klick beheben können. Mit Reimage läuft Ihr Computer im Handumdrehen wie neu!

  • 1. Laden Sie Reimage herunter und installieren Sie es
  • 2. Öffnen Sie das Programm und klicken Sie auf "Scannen"
  • 3. Klicken Sie auf "Reparieren", um den Reparaturvorgang zu starten

  • Läuft Ihr Computer langsam? Reimage ist die einzige Software, die eine Vielzahl von Windows-bezogenen Problemen beheben kann.