vs2010 下访问类成员变量及vector变量的问题
问题1:vs2010调试时需要注意什么?为什么访问成员变量的时候会发生冲突。重新执行就正常。
问题2:
typedef struct
{
BOOL* bAlarm1;
int* pLastState;
BOOL* bAlarm2;
}PreSetAlarmState;
PreSetAlarmState* pPreSetAlarmState;
pPreSetAlarmState=new PreSetAlarmState[20];
想回收的话该怎么做。变量出现在一个空间类中访问结构体成员时会发生冲突该怎么解决?
[解决办法]
用到多线程了吗?
类成员指针(引用)型变量初始化了吗?
回收的话
用delete[] pPreSetAlarmState
[解决办法]
个人拙见,定义里面加上构造函数和析构函数
typedef struct
{
BOOL* bAlarm1;
int* pLastState;
BOOL* bAlarm2;
struct()
{
bAlarm1 = NULL;
pLastState = NULL;
bAlarm2 = NULL;
}
~struct()
{
if(bAlarm1)
delete bAlarm1;
if(pLastState)
delete pLastState;
if(bAlarm2)
delete bAlarm2;
}
}PreSetAlarmState;
[解决办法]
建议使用结构体时,它的成员变量最好不要定义指针。容易出错。若是要使用,一定要初始化