000
17.08.2005, 11:57 Uhr
~Bost
Gast
|
Ich kämpfe mich gerade mühsam durch Templates und Funktionszeiger und bin dabei in einer Sackgasse gelandet.
Die Funktion Serialize ist implementiert und getestet. Ebenfalls vorhanden und getestet ist die Klasse "Wein". Wie kann ich nun den Funktionszeiger "serialize" korrekt dem Template-Funktionszeiger "funptr" zuweisen?
************************************************ main() ***********************************************
template<class T> void(*funptr)(T& t, vector<unsigned short>& v); void serialize(Wein& w, vector<unsigned short>& v);
int main() { funptr = serialize;
return 0; }
************************************************ ERORR: ***********************************************
--------------------Konfiguration: Hashing - Win32 Debug-------------------- Kompilierung läuft... main.cpp DHashing\main.cpp('38') : error C2440: '=' : 'void (__cdecl *)(class Wein &,class std::vector<unsigned short,class std::allocator<unsigned short> > &' kann nicht in 'void (__cdecl *)( &,class std::vector<unsigned short,class std::allocator<unsigned short> > &' konvertiert werden Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat Fehler beim Ausführen von cl.exe.
Hashing.exe - 1 Fehler, 0 Warnung(en) |