gpt4 book ai didi

C++ : constructor setting wrong values

转载 作者:行者123 更新时间:2023-11-30 01:48:23 26 4
gpt4 key购买 nike

我有一个奇怪的问题,其中值被很好地放入构造函数,但是这个没有返回正确的对象,它只是返回一个设置错误的值的对象(我想是默认值)

看看这个屏幕:

enter image description here

当我调试并进入构造函数时,我确信数据是正确的。例如,这里是 UserDetails 的构造函数:

UserDetails::UserDetails( QString _maxDataRate, Request _request ){

unsigned int intMaxDataRate = _maxDataRate.toUInt();
UserDetails(intMaxDataRate, _request);
}

UserDetails::UserDetails( unsigned int _maxDataRate, Request _request ) :
maxDataRate( _maxDataRate ), request( _request ) {
this->userID = IDGenerator++;
}

我知道这一定是一个典型的 C++ 错误,比如引用问题或类似的问题,但我不记得这可能是什么。

最佳答案

您正在从构造函数内部调用构造函数,即您正在创建一个立即销毁的临时对象。

您需要执行以下操作:

UserDetails::UserDetails( QString _maxDataRate, Request _request ) 
: UserDetails(_maxDataRate.toUInt(), _request);
{
}

关于C++ : constructor setting wrong values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com