小编Gia*_*uca的帖子

C++ 多拷贝赋值运算符

我正在学习 C++,我有一个关于赋值运算符的问题。

根据这里写的内容https://en.cppreference.com/w/cpp/language/copy_assignment,似乎

...一个类可以有多个复制赋值运算符,例如 T& T::operator=(const T &) 和 T& T::operator=(T)。

我试图用两个运算符创建一个类,但我看不出我错在哪里,因为我从编译器中得到了这个:

错误 C2593:“运算符 =”不明确*

这是课程:

class Point2D
{
public:
    Point2D(); // default constructor
    Point2D(double xValue, double yValue); // overloaded constructor
    Point2D(const Point2D& ref); // copy constructor const
    Point2D(Point2D& ref); // copy constructor for copy and swap
    Point2D(Point2D&& moveRef); // move constructor

    ~Point2D(); // destructor

    Point2D& operator=( const Point2D& other ); // copy assignment operator const
    Point2D& operator=( Point2D other ); // copy assignment operator for copyAndSwap
private: …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading assignment-operator language-lawyer

5
推荐指数
1
解决办法
318
查看次数