C错误:’operator =’不匹配
发布时间:2020-12-16 10:30:13 所属栏目:百科 来源:网络整理
导读:在为数组赋值时遇到问题.我有一个名为Treasury的课程.我创建了另一个名为TradingBook的类,我希望它包含一个全局的Treasury数组,可以从TradingBook中的所有方法访问.这是我的TradingBook和Treasury的头文件: class Treasury{public: Treasury(SBB_instrument
在为数组赋值时遇到问题.我有一个名为Treasury的课程.我创建了另一个名为TradingBook的类,我希望它包含一个全局的Treasury数组,可以从TradingBook中的所有方法访问.这是我的TradingBook和Treasury的头文件:
class Treasury{ public: Treasury(SBB_instrument_fields bond); Treasury(); double yieldRate; short periods; }; class TradingBook { public: TradingBook(const char* yieldCurvePath,const char* bondPath); double getBenchmarkYield(short bPeriods) const; void quickSort(int arr[],int left,int right,double index[]); BaseBond** tradingBook; int treasuryCount; Treasury* yieldCurve; int bondCount; void runAnalytics(int i); }; 这是我的主要代码,我收到错误: TradingBook::TradingBook(const char* yieldCurvePath,const char* bondPath) { //Loading Yield Curve // ... yieldCurve = new Treasury[treasuryCount]; int periods[treasuryCount]; double yields[treasuryCount]; for (int i=0; i < treasuryCount; i++) { yieldCurve[i] = new Treasury(treasuries[i]); //^^^^^^^^^^^^^^^^LINE WITH ERROR^^^^^^^^^^^^^^ } } 我收到错误:
有什么建议? 解决方法
这是因为yieldCurve [i]属于财政部,而新财政部(国债[i]);是指向财政部对象的指针.所以你的类型不匹配.
尝试更改此行: yieldCurve[i] = new Treasury(treasuries[i]); 对此: yieldCurve[i] = Treasury(treasuries[i]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |