Ich stehe vor einem wirklich dumm und ärgerlich Problem, ich folgte ein Video auf, wie man ein Roguelike, ich beschloss zu stoppen nach dem Wissen, wie ein Level auf den Bildschirm und tatsächlich gedruckt wird Ich fing an zu codieren, dann bekam ich mehrere Fehler an perfektem Code, ich tadelte die Konstruktoren, also entschied ich mich, ein neues Projekt im Visual Studio zu machen, um den doofsten Fall, eine Hauptfunktion, eine Klasse mit einem Konstruktor, der nichts tut, und ich Ich habe die ganze Arbeit, die Klasse und den Konstruktor zum Visual Studio zu machen, verlassen. Ich habe immer noch das verdammte Problem, hier ist der Fehler in dieser vereinfachten Version des Codes, ich würde den Rogue-ähnlichen Code zeigen, aber ich müsste ins Englische übersetzen Fehler selbst, und die meisten von ihnen haben nichts mit dem tatsächlichen Fehler zu tun, weil sie sich meistens darüber beschweren, dass sie fehlen; an Orten, wo es entweder kein geben sollte; oder da ist schon eins.C++ und Visual Studio 2017: Fehler C4430
here's the code
main.cpp:
#include "stdafx.h"
int main()
{
return 0;
}
test.h
#include "stdafx.h"
class test
{
public:
test();
};
test.cpp
#include "test.h"
#include "stdafx.h"
test::test(){
}
noch mit diesem einfachen automatisch generierten Code, Visual Studio immer noch Beschwerden und gibt mir diese Fehlermeldungen
C4430 fehlen Typspezifizierer - int angenommen. Hinweis: C++ nicht unterstützt default-int
C2653 'test': ist keine Klasse oder Namespace-Name
'test': Funktion sollte einen Wert zurückgeben; 'void' Rückgabetyp angenommen
was soll ich tun?
'#include "test.h" #include "stdafx.h"' die Reihenfolge umkehren? –
Der Compiler geht davon aus, dass alles bis einschließlich "#include" stdafx.h "' bereits vorkompiliert ist und es daher nicht erneut kompiliert wird. Das müssen Sie bei der Bestellung der '# Include's berücksichtigen. –