我operator bool()
在课外定义函数时遇到问题
class A{
public:
explicit operator bool() const;
};
我将类外的功能定义为...
explicit A::operator bool() const {
...
}
我得到这个错误 -error: ‘explicit’ outside class declaration
做错了什么?
我operator bool()
在课外定义函数时遇到问题
class A{
public:
explicit operator bool() const;
};
我将类外的功能定义为...
explicit A::operator bool() const {
...
}
我得到这个错误 -error: ‘explicit’ outside class declaration
做错了什么?
就像inline
如果你已经为声明编写了定义,你就不应该为定义编写一样,你不能explicit
在类定义之外编写:
它只能出现在其类定义中此类函数声明的decl-specifier-seq中。
因此,只需将其删除:
/*explicit*/ A::operator bool() const {
// ...
}