2015-06-08 42 views
1

我想这样做:C++ - 分配复杂翻番

Complex c(1, 2); 
double d = c; 

我试图做

friend double operator=(double& d, Complex& c){...} 

,但得到的错误,赋值操作符必须是一个非静态成员,但如何指定复合体加倍?

+0

我会问自己 - 这是什么意思,当您转换双从一个复杂的变量?它是真实还是想象?或者是什么? –

+0

无所谓,这只是一个使用C++的培训 –

回答

9

Complex的隐式转换操作符:

class Complex { 
public: 
    operator double() const { 
     //... 
    } 
};