CHa*_*awk 3 c++ compiler-errors
在为数组赋值时遇到问题.我有一个我创建的课程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);
};
Run Code Online (Sandbox Code Playgroud)
这是我的主要代码,我收到错误:
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^^^^^^^^^^^^^^
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
敌不过
'operator='上线'yieldCurve[i] = new Treasury(treasuries[i]);'
有什么建议?
Mys*_*ial 10
那是因为yieldCurve[i]是类型Treasury,并且new Treasury(treasuries[i]);是指向Treasury对象的指针.所以你的类型不匹配.
尝试更改此行:
yieldCurve[i] = new Treasury(treasuries[i]);
Run Code Online (Sandbox Code Playgroud)
对此:
yieldCurve[i] = Treasury(treasuries[i]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30691 次 |
| 最近记录: |