创建继承类 导致内存不足 求解!!!
数据结构
class DeviceParam
{
public:
int mlc;
int lmd;
double fenbianlv;
int qlxz;
double kxiuzheng;
double resistance1;
double resistance2;
double moliang;
double bosongbi;
char danwei[10];
};
class DeviceChannel:virtual public DeviceParam
{
public:
double initialdata;
double showdata;
public:
DeviceChannel()
{
///初始化
}
void InitialVlaue(double mydata)//初始值
{
}
double ShowValue(BOOL plusFlag)
{
return 数据;
}
};
class DeviceMachine:virtual DeviceChannel
{
public:
DeviceChannel OneTD[CHANNEL_NUM];
void SetChannelData(double *m_data,int channel,int type)
{
}
void GetChannelData(double *m_data,int channel,int type)////一列数据所有通道
{
}
};
class DeviceData:virtual DeviceMachine
{
public:
int m_channel;
int m_machine;
char Time_Data[50];
DeviceMachine SB_TD_Data[MACHINE_NUM];
double PH_Value[MACHINE_NUM][CHANNEL_NUM];
public:
void GetChannelNum(int num);
BOOL SaveData(char time_data[],int machine,int channel, CString filepath);
void PH_Zero();
void WritePhZero(CString filePath);
BOOL ReadPhZero(CString filePath);
};
在菜单中打开文件后
m_savenum=30000;
DeviceData *m_data=new DeviceData[m_savenum];//显示内存不足
怎样修改数据结构啊?
[解决办法]
将类定义中的大数组改为指针,构造时new
试试看
[解决办法]
类中的数组(如SB_TD_Data[MACHINE_NUM] PH_Value[MACHINE_NUM][CHANNEL_NUM])都用指针吧,然后new吧。
[解决办法]