Eigene Mini-Klasse liefert seltsame Fehlermeldung
-
du befindest dich bereits im "namensraum" der klasse "StdTools" und brauchst (besser gesagt: darfst) somit nicht die klasse angeben.
richtig wäre:class blub { private: string meineFunktion(long nummer); }; //Zur Definition der Funktion dann den Auflösungsoperator(::) mit dem Klassennamen benutzen string blub::meineFunktion(long nummer) { return nummer*5; }
-
@MFK: Bringt nichts, wenn ich std:: davorschreibe kennt er "string" überhaupt nicht mehr, auch mit dem include.
@helf0r: Danke für den Tip, aber er sagt immernoch, dass da ein Semikolon fehlen würde, aber das verstehe ich nicht.
-
JPSelter schrieb:
@MFK: Bringt nichts, wenn ich std:: davorschreibe kennt er "string" überhaupt nicht mehr, auch mit dem include.
Was genau heißt denn "kennt er überhaupt nicht mehr"? Fehlermeldung?
-
Ausserdem sollten die Memberfunktionen static sein.
-
Dann hatte ich es eben nicht richtig included, vielleicht Gross-/Kleinschreibung... jetzt gehts. Wundert mich nur, dass ich jetzt std::string schreiben muss, musste ich vorher nicht, wo das ganze noch in einer anderen Klasse stand. OK, geht ja nun, danke!
-
JPSelter schrieb:
Wundert mich nur, dass ich jetzt std::string schreiben muss, musste ich vorher nicht, wo das ganze noch in einer anderen Klasse stand.
Da gab es dann vermutlich eine using-Direktive oder using-Deklaration. Sollte man aber in Headerdateien nicht machen.
-
Eine weitere Frage: Ich bekomme meine Klasse nun in der Hauptklasse nicht ans Laufen. In MainDlg.h definiere ich im private-Teil
StdTools mytools;
Dann sagt er mir, dass hinter StdTools malwieder ein Semikolon fehlt. Inzwischen weiss ich, dass ich das lösen kann, indem ich in MainDlg.cpp meine Klasse VOR MainDlg.h include. Meistens klappt das auch, aber diesmal nicht. Wenn ich also
#include StdTools.h
#include MainDlg.hhabe, dann sollte doch alles aus StdTools.h auch in MainDlg.h bekannt sein oder? Wenn ich StdTools.h direkt in MainDlg.h reinpacke bekomme ich einen class redifinition error...
-
JPSelter schrieb:
Wenn ich StdTools.h direkt in MainDlg.h reinpacke bekomme ich einen class redifinition error...
Includewächter vergessen?
-
Was ist das denn? Ich arbeite mit VS noch nicht so lange.
-
Ah ok, habs gesehen und habe diese AFX Messages am Anfang und Ende eingefügt, jetzt gehts. Abschlussfrage (will dazu kein extra Topic eröffnen): Was ist der Unterschied zwischen "Build Solution" und "Build MyApp" im VS2005?