c++ - 使用模板模板参数作为类函数的返回类型

标签 c++ templates c++14

我创建了以下模板结构,其中第二个模板参数是模板模板参数。我想将它用作突然结构函数的返回类型。

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/

相关文章:

c++:什么是显式实例化

c++ - 我应该将我所有的 c++ 代码包装在它自己的命名空间中吗?

C++,自动点击按钮

c++ - 可互换使用的类型和非类型模板参数

c++ - C++中非模板类的特化成员函数

c++ - Effective Modern C++ 书中 ThreadRAII 的实现是否正确?

c++,一个遍历树状结构的通用递归模板函数

c++ - opengl 代码是否在 GPU 上运行?

c++ - 什么是 C++ 运算符 ->。 (箭头点运算符)在 boost 文档中找到?

c++ - 使用 `const T &` 持有 Temporary 可以解决什么问题?