首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c++类型“complex<double>”的类中的复杂初始化未提供调用运算符

c++类型“complex<double>”的类中的复杂初始化未提供调用运算符
EN

Stack Overflow用户
提问于 2019-10-23 20:40:11
回答 1查看 108关注 0票数 0

您好,我目前正在尝试初始化一个类中的复数

代码语言:javascript
运行
复制
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

所以我想问你们,我做错了什么,我不理解什么。

感谢您的阅读和帮助

EN

Stack Overflow用户

发布于 2019-10-23 20:51:49

成员变量是在调用构造函数体之前构造和初始化的。

如果要将成员变量作为对象初始化的一部分进行初始化,则需要在调用构造函数正文之前执行此操作,为此需要使用构造函数初始化器列表。

就像这样

代码语言:javascript
运行
复制
complex_class(double real, double img)
    : mycomplex(real, img)   // Initialize the mycomplex object through its constructor
{
    // Empty, as mycomplex already is initialized
}
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58523083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档