首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-01 
把一维数组做为函数返回值问题short*CDataAcquire::ReadData(){//读取数据并返回数据数组short*pDataArray

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

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

热点排行