The following code was compiled with VC ++ Nov 2012 CTP. But the compiler gave a warning.
I just wonder if this is a VC ++ Nov 2012 CTP error.
struct A { int n; A(int n) : n(n) {} int Get() const { return n; } int Get() { // // If using "static_cast<const A&>(*this).Get();" instead, then OK. // return static_cast<const decltype(*this)&>(*this).Get(); // Warning! } }; int main() { A a(8); // // warning C4717: 'A::Get' : recursive on all control paths, // function will cause runtime stack overflow // a.Get(); }
c ++ overloading c ++ 11 compiler-errors decltype
xmllmx
source share