<loufoque> what about { "_ZN8VConsole8VConsolelsEPKc", (uint_32)(VConsole::VConsole (VConsole::VConsole::*)(const char *))(&VConsole::VConsole::operator <<) }
* mgenov (n=mgenov@212.25.39.48) has joined ##c++
<mmiikkee12> loufoque: Modules.cpp:88: error: expected primary-expression before ')' token and several more errors
* Ifsc-usp has quit (Client Quit)
* Gambit-- (n=god@unaffiliated/gambit-) has joined ##c++
<mmiikkee12> oh, wait. bad copying
<mmiikkee12> Modules.cpp:88: error: address of overloaded function with no contextual type information
* zap0 has quit ("bye")
* W_o_r[l]d (n=Psico@151.73.100.104) has joined ##c++
<loufoque> mmiikkee12: so it doesn't work with just casting
* aalhamad_ has quit ("Leaving")
<mmiikkee12> loufoque: apparently not
<loufoque> mmiikkee12: that's why you must use an intermediate variable like I showed you above (I named it 'p')
<ville> Works for me.
* Jason__ has quit ("Leaving")
* Davidbrcz1 (n=davidcom@ANantes-151-1-123-213.w86-203.abo.wanadoo.fr) has joined ##c++
<mmiikkee12> loufoque: can you do that outside of a function?
<ville> Oh you mean casting twice in a row?
<loufoque> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) {} }; } int main() { long a = (long)(VConsole::VConsole (VConsole::VConsole::*)(const char *))(&VConsole::VConsole::operator<<); }
<geordi> no return statement in function returning non-void
<loufoque> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) { return *this; } }; } int main() { long a = (long)(VConsole::VConsole (VConsole::VConsole::*)(const char *))(&VConsole::VConsole::operator<<); }
<geordi> invalid cast from type 'VConsole::VConsole (VConsole::VConsole::*)(const char*)' to type 'long int'
<mmiikkee12> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) { return *this; } }; } int main() { long a = (long)(VConsole::VConsole (VConsole::VConsole*)(const char *))(&VConsole::VConsole::operator<<); }
<geordi> 'type name' declared as function returning a function
<loufoque> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) { return *this; } }; } int main() { long a = reinterpret_cast<long>((VConsole::VConsole (VConsole::VConsole::*)(const char *))(&VConsole::VConsole::operator<<)); }
<geordi> invalid cast from type 'VConsole::VConsole (VConsole::VConsole::*)(const char*)' to type 'long int'
<loufoque> so it doesn't want to convert a pointer to member to a long int
* SnakeChompEx has quit (Read error: 110 (Connection timed out))
* Davidbrcz1 (n=davidcom@ANantes-151-1-123-213.w86-203.abo.wanadoo.fr) has left ##c++
* eroc (n=core@189.130.169.80) has joined ##c++
<loufoque> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) { return *this; } }; } int main() { long a = reinterpret_cast<long>(static_cast<VConsole::VConsole& (VConsole::VConsole::*)(const char *)>(&VConsole::VConsole::operator<<)); }
<geordi> invalid cast from type 'VConsole::VConsole& (VConsole::VConsole::*)(const char*)' to type 'long int'
* SnakeChompXP has quit (Success)
<loufoque> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) { return *this; } }; } int main() { long a = reinterpret_cast<long>((VConsole::VConsole (*)(const char *))(&VConsole::VConsole::operator<<)); }
<geordi> converting from 'VConsole::VConsole& (VConsole::VConsole::*)(const char*)' to 'VConsole::VConsole (*)(const char*)'
<loufoque> geordi: namespace VConsole { struct VConsole { VConsole& operator<<(const char *str) { return *this; } }; } int main() { long a = reinterpret_cast<long>((VConsole::VConsole& (*)(const char *))(&VConsole::VConsole::operator<<)); }