template<typename T>
class A {}
Run Code Online (Sandbox Code Playgroud)
如何将类型 T 限制为仅可复制分配的类型?我知道,std::is_copy_assignable<T>::value但如何使用它来限制 A 类的类型 T?
您也可以static_assert为此使用它,它可以让您生成更好的错误消息:
template<typename T>
class A
{
static_assert (std::is_copy_assignable_v<T>, "T must be copy-assignable");
};
Run Code Online (Sandbox Code Playgroud)