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

怎么把结构数组传递出去

2012-06-08 
如何把结构数组传递出去?求助啊:typedef struct _MM_MYSYNC{intnNumintnInNumstringsFilePathHWNDhWnd

如何把结构数组传递出去?
求助啊:

typedef struct _MM_MYSYNC{
intnNum;
intnInNum;
stringsFilePath;
HWNDhWnd;
....
....
}MM_MYSYNC,*LPMM_MYSYNC;

A.h中定义有
CArray<MM_MYSYNC, MM_MYSYNC> m_myAry;

A.cpp中有
fun()
{
...
m_myAry.Add(..);
...
m_myAry.Add(..);//共Add 9次
...

B b;
b.SetValue(int nCount,(LPVOID)&m_myAry);//调试查看m_myAry值正确
}

在类B.h中定义
Public:
SetValue(int nCount,void* pAry);
LPMM_MYSYNC m_pA;

b.cpp
SetValue(int nCount,void* pAry)
{
 m_pA = (LPMM_MYSYNC)pAry; //查看pAry无有效值
MM_MYSYNC myS = m_pA[0];//值也不对
}

如何传递,并在B中能取到相应的值?


[解决办法]
SetValue(int nCount,void*& pAry);
[解决办法]
(LPVOID)&m_myAry 是CArray<MM_MYSYNC, MM_MYSYNC>*类型的, 你怎么给转成LPMM_MYSYNC类型, 计算CArray支持LPMM_MYSYNC操作符, 那也是传b.SetValue(int nCount,(LPVOID)m_myAry)啊
[解决办法]
CArray<MM_MYSYNC, MM_MYSYNC>* p = (CArray<MM_MYSYNC, MM_MYSYNC>*) pAry;

热点排行