C++ 无法从常量点转换为常量D2D1\u点\u 2F

C++ 无法从常量点转换为常量D2D1\u点\u 2F,c++,C++,错误:错误7错误C2664:'D2D1::Ellipse':无法将参数1从'const Point'转换为'const D2D1_Point_2F&' 我得到了这个错误,但我不知道如何编写将我的const对象转换为const D2D1_POINT_2F的运算符 谢谢。接线员被宣布为私人。公开 您还试图将点转换为D2D1_Point_2F,但运算符在ADot类中声明,您需要实现转换运算符。您所说的只是这样一种转换的存在——您还没有定义转换是如何工作的。它还需要是公共的。(1)既然转换运算符是私有的

错误:错误7错误C2664:'D2D1::Ellipse':无法将参数1从'const Point'转换为'const D2D1_Point_2F&'

我得到了这个错误,但我不知道如何编写将我的const对象转换为const D2D1_POINT_2F的运算符


谢谢。

接线员被宣布为私人。公开


您还试图将点转换为D2D1_Point_2F,但运算符在ADot类中声明,您需要实现转换运算符。您所说的只是这样一种转换的存在——您还没有定义转换是如何工作的。它还需要是公共的。

(1)既然转换运算符是私有的,为什么您希望它工作呢?(2) 将点转换为D2D1_点_2F与将ADot转换为D2D1_点_2F有何关系?
class ADot :
    public Shape
{
private:
    Point me_;
    operator D2D1_POINT_2F() const;//HERE I HAVE CONVERSION OPERATOR BUT IT DOES NOT WORK
public:
    ADot(signed, signed);
    ~ADot(void);
    void draw()const;
    Point center() const;
    Point north() const;
    Point south() const;
    Point east() const;
    Point west() const;
    Point nw() const;
    Point ne() const;
    Point sw() const;
    Point se() const;
};