说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何把结构数组传递出去?

编辑:说三道四文库 发布时间:2018-06-19 04:24
HTML文档下载 WORD文档下载 PDF文档下载
求助啊:

typedef struct _MM_MYSYNC{
int nNum;
int nInNum;
string sFilePath;
HWND hWnd;
....
....
}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;
各位达人所言极是
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘