Memberfunktionen / Methoden
-
Wenn man nach diesem Artikel geht, sollte folgendes doch erlaubt sein, oder?
#include <iostream> struct test { void sayHello(const std::string& str) { std::cout << "Hello " << str << '!' << std::endl; } }; int main() { void(*sayHello)(test*, const std::string&) = reinterpret_cast<void(*)(test*, const std::string&)>(&test::sayHello); test t; sayHello(&t, "Hugo"); }prog.cpp: In function 'int main()': prog.cpp:10:122: warning: converting from 'void (test::*)(const std::string&)' to 'void (*)(test*, const std::string&)'
-
Nur weil man sich Memberfunktionen wie freie Funktionen mit zusätzlichem
this-Parameter vorstellen kann, muss zwischen Memberfunktionszeigern und freien Funktionszeigern noch keine Konvertierung bestehen.P.S. Danke, dass du den Code gleich hier eingefügt hast statt auf ideone
