explizite Qualifikation in der Deklaration
battleutils.cpp:1037: Fehler: explizite Qualifizierung in Deklaration von 'int32 battleutils::AbilityBenediction(CBattleEntity*, CBattleEntity*)'
Was bedeutet dieser Fehler genau bedeuten?
Die erste Zeile hier ist 1037 (in battleutils.cpp):
int32 battleutils::AbilityBenediction(CBattleEntity* PCaster, CBattleEntity* PTarget)
{
....
return blah;
}
In der header-Datei unter:
namespace battleutils
{
ist diese:
int32 AbilityBenediction(CBattleEntity* PCaster, CBattleEntity* PTarget);
Den .cpp-Datei korrekt enthält die header-Datei.
InformationsquelleAutor der Frage Zeno | 2011-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich lief in das gleiche Problem. Ich hatte einige Quellen, kompiliert mit MS Visual Studio, sondern mit g++ unter Linux gab es mir:
Scheint es, dass dieser Fehler tritt auf, wenn die Implementierung bereits in
namespace foospace {...}
und die Umsetzung gibt den namespace wiederint foospace::barfunction(int blah){return 17;}
.Grundsätzlich, wenn die Umsetzung (der code in Ihnen .cpp-Datei) ist bereits in
namespace foospace {...}
dann entfernenfoospace::
von der definition einer Funktion.InformationsquelleAutor der Antwort Benrobot
Gut, dies ist nicht eine Antwort auf diese Frage, aber da dies das erste Ergebnis der Google-Suche bei der Suche diese Fehlermeldung, ich könnte sagen, ich bekam diese Fehlermeldung, wenn ich erklärt hatte, zweimal den namespace (wenn nicht benötigt) - wie dies
Anfängerfehler. Überprüfen Sie Ihre namespaces. Es ist entweder fehlen, viele Male erklärt oder falsch namespace - ich würde davon ausgehen.
InformationsquelleAutor der Antwort O95
Sorry, wenn bereits erwähnt.
Ich landete hier, weil ich gewechselt haben, von MSVC (Windows) auf meiner Archlinux-installation zum testen von cross-kompilieren effektiv.
Also "Bewusst Sein", dass Microsoft Visual C ++ (Visual Studio) wird fakultativ using namespace zusätzliche Qualifikationen - mindestens mit der /W1 Schalter (Stufe 1 Warnungen) so ignoriert man die zusätzliche Qualifikation (explizite namespace in sich selbst). Beachten Sie, dass entweder in gcc; clang; msvc, dieser Fehler passiert nicht, die Schüler-und function-Parameter und das ist das, was mich verwirrt über diese Zusatzqualifikation Fehler nur auf "Gerät/Datei" Funktionen...
InformationsquelleAutor der Antwort Bretzelus