[英]pointer-to-member-function type requires an rvalue
产生以下代码的错误是什么问题?
struct foo
{
void call(void (foo::*ptr)()) &&
{
(*this.*ptr)();
}
};
如何修复此错误?
由于成员指针具有 rvalue 限定符,因此必须告诉编译器*this
将通过在其上使用std::move
被视为右值:
(std::move(*this).*ptr)();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.