Why operator = doesn't get inherited from a template class

后端 未结 2 961
借酒劲吻你
借酒劲吻你 2020-12-16 07:21

I have following template code:

class ClassName{};

template 
class TemplatePtr
{
public:
    void operator=(T* p)
    {

    }
};

class Temp         


        
2条回答
  •  遥遥无期
    2020-12-16 08:03

    It gets inherited. However, the compiler-generated assignment operator for TempaltePtr_ClassName hides the inherited operator. You can make it visible by adding

    using TempaltePtr::operator=;
    

    to your derived class.

提交回复
热议问题