在类外部定义显式运算符 bool() 时出错
Error defining explicit operator bool() outside class
我在类外定义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 {
// ...
}
相关文章:
- 写入向量<向量<bool>>
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 分段错误当我试图运行程序时出错
- 使用dynamic_cast和构造函数时出错
- CHECK(调用)函数在Google Colab中出错
- 用pybind11包装C++抽象类时出错
- 为x86而非x64编译时出错
- 在类外部定义显式运算符 bool() 时出错
- 使用bool非类型参数实例化类模板时出错
- 从int强制转换为bool时出错
- 将矢量bool复制到CUDA内存时出错
- 用于初始化 std::vector<std::function<bool(std::string)的初始值设定项列表> >在 g++ 4.9.0 中出错,但使用 Visual