wulfgang Geschrieben 30. Januar 2009 Teilen Geschrieben 30. Januar 2009 Hallo, ich bekomme von GetFtpConnection einen Zeiger auf CFtpConnection. CFtpConnection *connection; connection = session.GetFtpConnection(pstrServer, login, passwd, port, bPassive Diese Funktion ist in einer Klasse implementiert. Ich möchte, dass zurückgegebene Zeiger auch für andere Funktionen außerhalb der Klasse verfügbar ist.Nun hatte ich gehofft dies ginge über eine statische Funktion/Member-Variable. Allerdings erhalte ich noch error LNK2001: unresolved external symbol "public: static class CFtpConnection * Connect::connection_pointer" (?connection_pointer@Connect@@2PAVCFtpConnection@@A) und fatal error LNK1120: 1 unresolved externals In Connect.cpp: Connect::Connect(void) {...... if(connection = session.GetFtpConnection(pstrServer, login, passwd, port, bPassive)) { cout << "Verbindung wurde aufgebaut\n"; connection_pointer=connection; } CFtpConnection Connect::*connection_pointer=0; ....} CFtpConnection Connect::*connection_pointer=0; CFtpConnection * Connect::getLastConnection() { return connection_pointer; } ..... In Connect.h class Connect { public: Connect(void); static CFtpConnection * Connect::getLastConnection(); static CFtpConnection *connection_pointer; public: ~Connect(void); }; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 30. Januar 2009 Teilen Geschrieben 30. Januar 2009 Du musst die statische Membervariable noch definieren, am besten in Connect.cpp: CFtpConnection* Connect::connection_pointer; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 30. Januar 2009 Teilen Geschrieben 30. Januar 2009 Die Zeile im Konstruktor: CFtpConnection Connect::*connection_pointer=0; raus. Die Zeile für die Deklaration: CFtpConnection Connect::*connection_pointer=0; ändern in: CFtpConnection* Connect::connection_pointer=NULL; [Editerle] Du musst die statische Membervariable noch definieren, am besten in Connect.cpp: CFtpConnection* Connect::connection_pointer; Würde ich besser mit NULL definieren, sonst zeigt der Zeiger irgendwo hin. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wulfgang Geschrieben 30. Januar 2009 Autor Teilen Geschrieben 30. Januar 2009 Jo danke, die Zeigerübergabe funktioniert glaube ich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.