以下代码:
struct A
{
int f(int);
auto g(int x) -> decltype(f(x));
};
编译失败,报错:
error: cannot call member function 'int B::f(int)' without object
如果我将其更改为:
struct A
{
int f(int);
auto g(int x) -> decltype(this->f(x));
};
我得到另一个错误:
error: invalid use of 'this' at top level
这些有什么问题?我正在使用 gcc 4.6