#include <string> #include <iostream> using namespace std; class clsA { public: int value() { return 1; } }; class clsB { public: string value() { return "yes/no"; } }; template<class Type> auto foo(Type x) -> decltype(x.value()) { return x.value(); } int main(void) { clsA oa; clsB ob; cout << foo(oa) << foo(ob) << endl; return 0; }
12
23
2014
23
2014