Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
function pointer overload
//g++ 4.9.3 #include <iostream> template <typename... Args> struct SNonConstOverload { template <typename R, typename T> static void resolve(R(T::*ptr)(Args...)) { std::cout << "resolve(R(T::*ptr)(Args...))" << std::endl; } }; template <typename... Args> struct SConstOverload { template <typename R, typename T> static void resolve(R(T::*ptr)(Args...) const) { std::cout << "resolve(R(T::*ptr)(Args...) const)" << std::endl; } }; template <typename... Args> struct SOverload : SConstOverload<Args...>, SNonConstOverload < Args... > { using SConstOverload<Args...>::resolve; using SNonConstOverload<Args...>::resolve; template <typename R> static void resolve(R(*ptr)(Args...)) { std::cout << "resolve(R(*ptr)(Args...))" << std::endl; } }; struct FHolder { int fabo( int i) const { return i ? i + fabo(i-1): 0; } virtual void set(int i) { mIndex = i; } static void print() { std::cout << "FHolder::print()" << std::endl; } private: int mIndex = 0; }; int main() { SOverload<int>::resolve(&FHolder::fabo); SOverload<int>::resolve(&FHolder::set); SOverload<>::resolve(&FHolder::print); }
run
|
edit
|
history
|
help
0
Meeting Time
Q
Motsow
Couting number of substring occurances in C++
string
cppPyClassInit
finding counting multiple no that became a no
Defining Class Members
Print All Paths In Matrix
segmented sieve