我创建了以下模板结构,其中第二个模板参数是模板模板参数。我想将它用作突然结构函数的返回类型。
template<typename T, template<typename /*T*/, typename /*U*/> typename V>
struct MyStruct
{
V myFunction();
}
我尝试返回 V
,但显然行不通。然后我尝试返回 V<T, U>
但它也不起作用。我应该申报 U
吗? parameter 作为 MyStruct
的第三个模板参数还是有其他方法可以做我想做的事?
最佳答案
您缺少 V
的参数列表.但是,您不能使用 V<T, U> myFunction();
如你所说。如果你想使用 U
或您需要添加的任何其他内容。例如:
template<typename T, template<typename /*T*/, typename /*U*/> typename V, typename P>
struct MyStruct {
V<T, P> myFunction();
};
关于c++ - 使用模板模板参数作为类函数的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36211174/