static
-
ich möchte eine funktion als statich deklarieren
in .h
static void save(CString file, CString m_type, CString m_description );
in .cpp
static void CSave::save(CString file, CString m_type, CString m_description )
CSave.cpp(11) : error C2724: 'CSave::save': 'static' sollte nicht für Memberfunktionen verwendet werden, die außerhalb der Klasse definiert werden
aber ohne funktioniert es auch nicht
-
probiers mal so:
void CSave::save(CString file, CString m_type, CString m_description )
-
Was meinst du mit statisch?
Meinst du eine statische Methode einer Klasse? Also dass kein Objekt zum Aufruf benötigt wird?
Oder willst du eine Funktion mit Internal Linkage?Für ersters schreib das static in die Definition (.h) und lass es in der Deklaration (.cpp) weg.
Für zweiteres schreib es einfach vor die Funktion (das ist aber veraltet, hier sollte man anonyme Namespaces verwenden).
-
kann man den punktoperator so überladen ,dass er den bereichsauflösungsoperator ersetzt?
mein problem ist das ich eben an java gedacht habe und CSave.save() geschrieben haben und nicht ::
-
Nein, zum Glück nicht. Und es wäre auch eine Unart. Man ändert die Bedeutung der eingebauten Operatoren nicht. Sonst kannst du dich auf deinen Code nicht mehr verlassen und die Seiteneffekte werden absolut unüberschaubar.
-
7H3 N4C3R schrieb:
Für ersters schreib das static in die Definition (.h) und lass es in der Deklaration (.cpp) weg.
Deklaration (.h) - Definition (.cpp)