特定类型输入:typename type :: template sometype <t> :: Type

时间:2019-04-17 22:04:24

标签: c++ templates unreal-engine4 typename

我在Base结构中有一个结构traits。这种结构对于确定功能的类型是必需的。

为什么我需要在方法Base :: foo的第二个参数中使用template关键字?

template<typename T>
struct Base {

    struct traits {
        typedef void(*Type)(int);

        template <typename UserClass>
        struct method {
            typedef void(UserClass::*Type)(int);
        };
    };

    template<typename UserClass>
    void foo(UserClass* obj, typename traits::template method<UserClass>::Type ptr) {

    }
};

0 个答案:

没有答案