嗨,我目前正在尝试在一个类中初始化一个复数
class complex_class{
public:
complex<double> mycomplex;
complex_class(double real, double img){
//mycomplex(real, img);
mycomplex.real(real);
mycomplex.imag(img);
}
};
当我尝试直接分配一些值时,出现错误消息
错误:类型“ complex”不提供呼叫操作员 mycomplex(real,img);
仅适用于real和imag函数
所以我想问你们我做错了什么,我不理解什么。
感谢您的阅读和帮助
答案 0 :(得分:2)
在调用构造函数主体之前,先构造并初始化成员变量。
如果要在对象初始化过程中初始化成员变量,则需要在调用构造函数主体之前进行此操作,为此,您需要使用构造函数初始化程序列表。 / p>
类似
complex_class(double real, double img)
: mycomplex(real, img) // Initialize the mycomplex object through its constructor
{
// Empty, as mycomplex already is initialized
}