我遇到了模板模板和参数推导的问题。这是代码:
template<typename U, template<typename> class T>
void test(T<U>&& t)
{
...
}
我希望这可以接受左值和右值,但仅适用于右值。折叠规则“T& && = T&”不适用于这种情况?
当然,我也可以声明左值引用函数,但会降低代码的可读性。
如果你问我为什么需要这个是使用 static_assert 来检查T是否是一个特定的类。如果有更简单的方法,我很乐意更改我的代码,但我想知道模板模板是否可以以这种方式使用。
谢谢