c++问题,请大虾们指点!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++问题,请大虾们指点!相关的知识,希望对你有一定的参考价值。

我是刚学C++请大虾们指点一下!我是想利用下面一段程序返回一个CIndividualinfo类型的对象best;这段函数是在类CPopulation中,并且CIndividualinfo类我已经建好了!

CIndividualinfo CPopulation::best()

int i;
CIndividualinfo good;
good=m_Individual[0];
for(i=0;i<=size;i++)

if (good.Fitness_value()>m_Individual[i].Fitness_value())
good=m_Individual[i];

return(good);

但编译时出现下面的错误:
d:\Backup\我的文档\Visual Studio Projects\MaintenanceOpt\Population.cpp(35) : error C2582: “operator =”函数在“CIndividualinfo”中不可用
d:\Backup\我的文档\Visual Studio Projects\MaintenanceOpt\Population.cpp(39) : error C2582: “operator =”函数在“CIndividualinfo”中不可用
d:\Backup\我的文档\Visual Studio Projects\MaintenanceOpt\Population.cpp(41) : error C2558: class“CIndividualinfo” : 没有可用的复制构造函数或复制构造函数声明为“explicit”
d:\Backup\我的文档\Visual Studio Projects\MaintenanceOpt\Population.cpp(49) : error C2582: “operator =”函数在“CIndividualinfo”中不可用
d:\Backup\我的文档\Visual Studio Projects\MaintenanceOpt\Population.cpp(53) : error C2582: “operator =”函数在“CIndividualinfo”中不可用
d:\Backup\我的文档\Visual Studio Projects\MaintenanceOpt\Population.cpp(55) : error C2558: class“CIndividualinfo” : 没有可用的复制构造函数或复制构造函数声明为“explicit”

这是什么意思?我该怎么改?由于本人是初学C++,请大虾们尽量解释得详细点!谢谢!!!

对,要重载赋值操作符=
就是说计算机不知道你定义的对象用=是按照怎么的规则赋值的

另外一个问题是,你要定义一个复制构造函数,就是用一个CIndividualinfo型对象来初始化另外一个CIndividualinfo型对象的那种构造函数:
CIndividualinfo(CIndividualinfo indiv);
因为最后return的是一个对象。如果你return一个指针就没有第二个问题了。
其实这个函数定义的内容跟上面的重载=的内容差不多,就是定义一个赋值的规则。

参考资料:www.cppconst.com

参考技术A 重载"=" 参考技术B 因为系统内置的=号操作不能将一个数组里面的一项赋给CIndividualinfo类型 的变量
所以你要在类里面重载一下 =号
所谓重载= 就是重新定义=号运算的意义(就是操作),重新定义如何将数组里面的一项赋值给CIndividualinfo类型 的变量
具体重载的方法可以自己搜一下
参考技术C 得重载=

elk问题,求教各位大虾!

 

【filebeat --> kafka --> logstash-->MongoDB|磁盘】架构进行日志收集

 

但是当logstash写入MongoDB有延迟,然后正常之后,会导致logstash循环收集kafka中的数据?

 

请各位大虾指点,是什么原因会导致这种情况,谢谢!

 

【PS】

  我发现一个解决办法,重新更换logstash的group_id会使得日志收集正常,中。。。

以上是关于c++问题,请大虾们指点!的主要内容,如果未能解决你的问题,请参考以下文章

在打印预览上能看到只打一页,为啥打出来会有二页呢?而且第二页全部是空白。求大虾们指点。

如何在LABVIEW中调用C语言,具体的操作步骤是啥?请各位大虾指点!!如何再以DAQ的形式发送出去

SIP中呼叫转移(tranfer)是怎么回事?请大虾指点,还有VOIP怎么与PSTN和移动网通信的呢???

C++返回值为Const &的看法 大虾们给解释下

elk问题,求教各位大虾!

请大虾们解答一下,在QT中我能使用c语言的printf函数吗?如何使用?谢谢