如何把结构数组传递出去?
求助啊:
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;