Problem mit Memberfunktion
-
Hi ich hab eine Klasse, die in eine Dll exportiret wird. Funktioniert.
Sie hat Memberfunktionen. Funktioniert.
Der Aufruf der Memberfunktionen über eine Instanz. Funktioniert.
Aber der Aufruf der Memberfunktionen mit Scope-Operator geht nicht.Dieser Code zeigt das Prinzip
class MyClass { public: //Von daher müsste man sie eigentlich aufrufen können int foo(void) { return 1; } }; int main() { MyClass Inst; int A=Inst.foo(); //Klappt int b=MyClass::foo(); //Error C2352 return(0); } wenn ich foo(void) als static definiere dann kann ich aber die Klasse nicht mehr exporieren. Ich will foo so aufrufen als wäre CMyClass in diesem Fall ein namespace. Alsoclass C{
public:
int foo();
};
namespace MS
{
int foo();
}
int main()
{
MS::foo(); //geht
C::foo(); //so solls auch gehen
...[cpp]Geht da was zu machen? Ich bin dankbar für jede brauchbare Antwort!
-
Hallo
Das dein Beispiel nicht funktionieirt ist klar, denn genau dazu braucht man static. Da du aber das hier
wenn ich foo(void) als static definiere dann kann ich aber die Klasse nicht mehr exporieren.
nicht näher erklärst können wir dir nicht helfen.
Aus Erfahrung kann ich dir jedenfalls versichern das auch static-Funktionen aus DLLs benutzt werden können.bis bald
akari
-
Jetzt klappts. Es lag daran dass ich static nur falsch eingesetzt habe.
Danke trotzdem!