我想創建一個對象數組,我想使用某個構造函數。帶派生類的push_back
std::vector<Modul> arrDigOut;
arrDigOut.push_back(Modul(IDC_CHECK1, this, "GVL.DigOut1", pAddr));
只要DigOut
不是派生類,此工作正常。當我得到它,並使用類DigOut
失敗:
class Modul
{
protected:
int id;
int nErr;
void* plcVar;
bool bDigOut;
PAmsAddr pAddr;
ULONG lHdlVar;
CButton* pBt;
public:
Modul();
//Modul(int ID, Cbeckhoff_frontendDlg* pCbeckhoff,void* pVar,PAmsAddr pAdr)
//{
// SetID(ID,pCbeckhoff);
// plcVar = pVar;
// pAddr = pAdr;
//};
int GetID() { return (id); };
void* GetplcVar() { return plcVar; };
void SetID(int ID, Cbeckhoff_frontendDlg* pCbeckhoff);
int InitCheck(Cbeckhoff_frontendDlg* pCbeckhoff);
CButton* GetpBt(){return pBt;};
void SetButton(Cbeckhoff_frontendDlg* pCbeckhoff);
};
class DigOut : protected Modul
{
public:
DigOut();
DigOut(int ID, Cbeckhoff_frontendDlg* pCbeckhoff,void* pVar,PAmsAddr pAdr)
{
SetID(ID,pCbeckhoff);
plcVar = pVar;
pAddr = pAdr;
};
};
完全不相關的問題,但你不需要';'在函數定義之後。 – 2012-07-18 12:16:17