Fehler bei Klassenfunktion (C2039, is not a member)
-
Hi,
ich habe folgendes Problem: Visual Studio sagt, dass eine Funktion nicht Teil einer Klasse sei, ich aber absolut keine Ahnung habe wieso, da es eigentlich sehr wohl in der Klasse ist
Hier ist die header-Datei://abTransformation.h #ifndef ABTRANSFORMATION_H #define ABTRANSFORMATION_H class abTransformation { public: void setTranslation(float x, float y, float z); }; #endifHier die .cpp Datei:
//abTransformation.cpp #include "abTransformation.h" // Feherhafte Funktion: void abTransformation::setTranslation(float x, float y, float z) { }Und hier der Fehlercode:
Error 1 error C2039: 'setTranslation' : is not a member of 'abTransformation'Was auch komisch ist, ist dass in der .cpp Datei das "abTransformation" bei der Fehlerhaften Funktion nicht komplett grün markiert ist, wie es sonst bei anderen Funktionen ist, sondern nur nur das hintere on, falls ihr versteht was ich meine^^
Danke schonmal im voraus für alle Antworten

Mfg,
Duji-BujiEDIT: Code verkleinert, damit er auch ohne andere Dateien versucht zu kompiliert werden kann.
-
Duji-Buji schrieb:
EDIT: Code verkleinert, damit er auch ohne andere Dateien versucht zu kompiliert werden kann.
Löst dieser verkleinerte Code den Fehler überhaupt noch aus? Teste das mal.
-
Ja, das tut er
Deshalb bin ich auch so verwirrt, weil ich dort keinen Fehler sehe.
-
Also, sieht deine
main()so aus?// main.cpp #include "abTransformation.h" int main() { abTransformation ab; ab.setTranslation(0, 0, 0); }Eigentlich ist das völlig unmöglich, nicht einmal VC++ hat so einen dicken Hauer?
Edit: Funktion korrigiert.
-
Hä?
Arcoth was hast du nur so gegen den MSVC Compiler? (Ja ok, ich weis es, er ist dir nicht nah genug am Standard und hat Fehler und blablabla)Deine main-Funktion ist falsch. Du hast "setTransformation" geschrieben, der TE schreibt aber was von "setTranslation".
Aber wie die anderen schon sagten. Der Code hat erstmal keine Fehler um es mal in einer Datei zu demonstrieren.
-
Ok, ich have den Fehler gefunden, ziemlich doofer Fehler. Ich hatte zwei verschiedene header Datein "abTransformation.h", die eine im richtigen Verzeichnis, die andere im falschen und ich habe die "falsche" bearbeitet, er hat also die ganze Zeit nur die alte Version gesehen ... Ich hoffe ihr seid mir nicht böse für so einen doofen Fehler
Danke trotzdem für alle Antworten 
-
Das ist normal. Solche kleinen Fehler passieren jedem und jeder wird mindestens einmal in seinem Leben mehrere Stunden/Tage danach suchen.
Gewöhn dich als Programmierer dadran
