为什么我无法定义此功能,
int *clone() const &
{
return new int(10);
}
或
int x;
int *clone() const &&
{
return new int(std::move(x)) ;
}
我应该能够添加const限定符函数。我应该包含任何标题吗?
答案 0 :(得分:3)
我是c ++的新手,我和你有同样的错误。 我编译了C ++ Primer 5th Edition中的示例代码,该代码描述了引用限定符。但是,我的GNU编译器显示错误。我想当前的编译器不支持C ++ 11中引入的这个新功能。似乎没有多少人知道这一点,因为在互联网上可以找到很少的信息。也许以后的编译器会支持这个功能。
许多c ++ 11功能尚未得到支持......我之前见过一些。
这是示例代码的一部分,与您的类似:
Foo sorted() &&;
Foo sorted() const &
答案 1 :(得分:0)
因为函数名后面的任何限定符都适用于此指针。 如果你想使这个指针恒定 你应该通过:int * clone()const
进行重载答案 2 :(得分:0)