找不到template =运算符

时间:2018-01-27 06:27:57

标签: c++ templates operator-overloading

我想创建模板operator =,但它不起作用;

void main()
{
    A a;
    a = 1.3;
}

是的,类是空的,但运算符必须适用于任何类。

sudo apt install php7.0-mcrypt

但是这会给出错误

1 个答案:

答案 0 :(得分:3)

在类定义中,成员函数定义不需要A::

class A
{
public:

    template<class T>
    A& operator=(const T& obj)
    {
        return *this;
    }
};

LIVE

或者您可以从类定义中定义它。

class A
{
public:

    template<class T>
    A& operator=(const T& obj);
};

template<class T>
A& A::operator=(const T& obj)
{
    return *this;
}

LIVE