把一维数组做为函数返回值问题
short* CDataAcquire::ReadData()
{//读取数据并返回数据数组
short* pDataArray=new short[DataLong*ChannelAmount-1];
return pDataArray;
}
我在程序中调用方法为:
short* pDataArray2;//请问这名要怎么写才能是正确的呢???
pDataArray2=objDataAcquire.ReadData;
为什么提示,error C2440: '= ' : cannot convert from 'short *(__thiscall CDataAcquire::*)(void) ' to 'short * '
[解决办法]
pDataArray2=objDataAcquire.ReadData();
这样是 方法调用
pDataArray2=objDataAcquire.ReadData;
这样相当于是想 使用 成员函数 指针,
但是,显然,
pDataArray2 不是成员函数指针
[解决办法]
你用完 pDataArray2后就:
delete[] pDataArray2;
pDataArray2 = NULL;
[解决办法]
楼主那个是返回指针,不是返回一维数组,返回一个局部数组会有意想不到的后果,应避免