读书人

把一维数组做为函数返回值有关问题

发布时间: 2012-03-01 10:25:46 作者: rapoo

把一维数组做为函数返回值问题
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;

[解决办法]
楼主那个是返回指针,不是返回一维数组,返回一个局部数组会有意想不到的后果,应避免

读书人网 >C++

热点推荐