can I use SFINAE to selectively define a member variable in a template class?

后端 未结 4 1691
不知归路
不知归路 2020-12-28 18:43

So what I want to do is to create a template class which may or may not contain a member variable based on the template argument passed in. like following:

t         


        
4条回答
  •  失恋的感觉
    2020-12-28 19:22

    #pragma once
    #include 
    
    template 
    class Node;
    
    
    template 
    class Node>
    {
    public:
        Node(const T& v) : value(v) {}
    
    private:
        T value;
        Node* next = nullptr;
    };
    
    template 
    class Node>
    {
    public:
        Node(const T& v) : value(v) {}
    
    private:
        T value;
        Node* next = nullptr;
        Node* prev = nullptr;
    };
    

    Single or double linked list node based on boolean flag

提交回复
热议问题