我有重载的方法:
template<typename AnyType>
void AnyFunc(AnyType &t);
template<typename AnyType>
void AnyFunc(AnyType &&t);
我有一个调用者,它持有一个指针并想使用其中一个函数:
MyType* ptr=new MyType();
AnyFunc(*ptr);
最后一行遇到编译错误:AnyFunc 的模糊重载
如何选择我需要的功能?简单的情况是使用:
AnyFunc(std::move(*ptr));
其中选择了void AnyFunc(AnyType &&t);
但这不是我想要的。我需要
void AnyFunc(AnyType &t);
方法。