c++ - decltype as a return type in class member function -
i got error compiling below code.
struct b{ double operator()(){ return 1.0; } }; struct { auto func() -> decltype(b()) { return b(); } b b; };
however, if reorganize a
, compiles.
gcc 4.8 said 'b' not declared in scope.
struct { b b; auto func() -> decltype(b()) { return b(); } };
so, wrong first??
the definition of class
processed 2 passes: first member declarations collected, including function signatures, , bodies of definitions parsed.
the function body therefore has access member declarations, including subsequent ones, function prototype sees preceding declarations.
Comments
Post a Comment