引用限定符错误
error in reference qualifier
为什么我不能定义这个函数,
int *clone() const &
{
return new int(10);
}
或
int x;
int *clone() const &&
{
return new int(std::move(x)) ;
}
我应该能够添加const限定符函数。我应该包括任何标题吗?
我是c++的新手,我和你犯了同样的错误。我编译了示例代码,来自c++ Primer第5版,其中描述了引用限定符。然而,我的GNU编译器显示了错误。我猜想当前的编译器不支持c++ 11中引入的这个新特性。似乎没有多少人知道这一点,因为在互联网上可以找到的信息很少。也许以后的编译器会支持这个特性。
许多c++11的特性还没有被支持…我以前见过一些。
这是示例代码的一部分,与您的代码类似:
Foo sorted() &&;
Foo sorted() const &
可以在参数上使用r值引用,例如在move赋值或move构造函数中。似乎clang一直在尝试一个名为"称为*this的右值引用"的扩展,但我建议您先通过move构造函数和赋值操作符工作。
因为函数名之后的任何限定符都适用于该指针。如果你想让这个指针为常量
你应该这样做:int *clone() const
相关文章:
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- C++引用错误
- 已定义函数时出现 G++ "未定义的引用"错误
- 错误:使用通用引用的声明冲突
- 链接 cmake 时出现未定义的引用错误
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 链接器错误:未定义对"Reference_Genome::seq[abi:cxx11]"的引用
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 错误:无法解析对重载函数的引用;你的意思是调用它吗?
- 在 gtest 中初始化堆栈上的引用变量的隔离错误
- 运行时错误:引用绑定到类型为"int"的空指针
- 隐式重新解释引用时强制转换,没有警告/错误
- 只有级联分类器会发出未定义的引用错误
- 错误:未定义对cv::cudacodec::createVideoReader的引用
- 模板流运算符重载错误:引用初始化无效,与basic_istream和basic_ifstream之间的差异有关
- 对于我的 ComplexNumber 中的某些方法,我得到了一个奇怪的未定义错误引用.cpp,不过我对模板很陌生
- 从对象调用成员对象,错误:引用非常量值的初始值必须是左值
- Qt并发错误:引用非静态成员