在使用SFINAE的模板类之外定义函数?

问题描述 投票:0回答:1

在下面的示例中,我想在这种情况下在类外定义析构函数,到目前为止,我尝试过的所有兆兆语法都没有用:

    template<typename OjectType,
        typename = std::enable_if_t<std::is_base_of_v<SomeClass, OjectType>>>
    class SampleClass
    {
    public:
        ~SampleClass();
    };

    // How to define this outside class?
    template<typename ObjectType>
    SampleClass<ObjectType>::~SampleClass()
    {
    }
c++ templates sfinae
1个回答
4
投票

您关闭了,您忘记了指定第二个模板参数(没有默认值):

template <typename ObjectType, typename Dummy>
SampleClass<ObjectType, Dummy>::~SampleClass()
{
    // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.