我先定義了兩個Struct,定義如下:
//單一證券節點資料(一條Bar)
struct CHqData
{
CTime datetime;//行情日期時間
double lastprice;//最新價格
double open;//開盤價
double close;//收盤價
double high;//最高價
double low;//最低價
double vol;//成交量
double amt;//成交額
};
//單一證券的序列資料
struct CHqArray
{
CString stkcode;//證券代碼;
CString windcode;//證券代碼(萬德代碼)
CString period;//周期----‘D',日線,'W'周線,'M'月線,'Y'年線,'t'tick資料,'1'一分鐘,'30'....
CArray<CHqData,CHqData&> hqDataArray;//行情序列
};
CHqArray中的成員嵌套了一個CArray,然后再建立一組全域變數,用來存放所有股票的行情序列
CArray<CHqArray, CHqArray&> hqBuff_Custom;//自定義周期行情資料快取;
執行賦值
CHqArray tempHqArray;
tempHqArray.stkcode = “600191”;
tempHqArray.windcode = “600191.SH”;
tempHqArray.period = “M”;
tempHqArray.hqDataArray.Add(ahqdata);//ahqdata是從外部傳進來的(賦值部分省略)
hqArray.Add(tempHqArray);
編譯時,VS報錯C2280 “CHqArray &CHqArray::operator =(const CHqArray &)”: 嘗試參考已洗掉的函式
上網搜索了半天,也找不到答案,請高手指點,詳細點謝謝,賞分100
uj5u.com熱心網友回復:
沒有看到你hqArray在哪里定義uj5u.com熱心網友回復:
不好意思,hqArray.Add(tempHqArray);就是hqBuff_Custom.Add(tempHqArray)uj5u.com熱心網友回復:
非基礎型別的 需要 多載 operator =
//單一證券的序列資料
struct CHqArray
{
CString stkcode;//證券代碼;
CString windcode;//證券代碼(萬德代碼)
CString period;//周期----‘D',日線,'W'周線,'M'月線,'Y'年線,'t'tick資料,'1'一分鐘,'30'....
CArray<CHqData,CHqData&> hqDataArray;//行情序列
virtual void operator = (const CHqArray &other)
{
if(this != &other)
{
stkcode = other.stkcode;
windcode = other.windcode;
period = other.period;
hqDataArray.Copy(other.hqDataArray);
}
}
};
uj5u.com熱心網友回復:
補充拷貝建構式、多載賦值運算子問題解決://單一證券的序列資料
struct CHqArray
{
CString stkcode;//證券代碼;
CString windcode;//證券代碼(萬德代碼)
CString period;//周期----‘D',日線,'W'周線,'M'月線,'Y'年線,'t'tick資料,'1'一分鐘,'30'....
CArray<CHqData, CHqData&> hqDataArray;//行情序列
CHqArray() {}
CHqArray(const CHqArray& o)
{
if (&o != this)
{
stkcode = o.stkcode;
windcode = o.windcode;
period = o.period;
}
}
CHqArray operator =(const CHqArray& o)
{
if (&o != this)
{
stkcode = o.stkcode;
windcode = o.windcode;
period = o.period;
}
return *this;
}
};
注意:
1)請根據業務需要自行完成拷貝建構式和多載賦值運算子
2)原理請自行度娘
3)有問題請給我留言
uj5u.com熱心網友回復:
不好意思,標準寫法如下://單一證券的序列資料
struct CHqArray
{
CString stkcode;//證券代碼;
CString windcode;//證券代碼(萬德代碼)
CString period;//周期----‘D',日線,'W'周線,'M'月線,'Y'年線,'t'tick資料,'1'一分鐘,'30'....
CArray<CHqData, CHqData&> hqDataArray;//行情序列
CHqArray() {}
virtual CHqArray& operator =(const CHqArray& o)
{
if (&o != this)
{
stkcode = o.stkcode;
windcode = o.windcode;
period = o.period;
}
return *this;
}
};
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/72180.html
標籤:基礎類
