+为什么在使用运算符语法调用一元时收到错误消息?如果我用函数语法调用它,就可以了。现场演示。
template <int size>
struct Buffer { char buf[size]; };
template <class T>
struct Wrapper { void operator+() {} };
Wrapper<Buffer<-5>> a;
void f1() { +a; } // error: Buffer<-5>::buf has negative size
void f2() { a.operator+(); } // OK