下面是程序源码 IStream* stream;
HGLOBAL hGlob;
hGlob = GlobalAlloc( GMEM_FIXED , entry.nDataSize); BYTE *ret = new BYTE[entry.nDataSize];
//读出旧位图
if(pStm)pStm->Read((BYTE*)hGlob, entry.nDataSize, NULL);
outPak->EndFile();
CreateStreamOnHGlobal(hGlob, TRUE, &stream);编译的时候在最后一句的时候提示:
error C2664: 'CreateStreamOnHGlobal' : cannot convert parameter 3 from 'struct XStream *' to 'struct IStream ** '请各位帮忙
HGLOBAL hGlob;
hGlob = GlobalAlloc( GMEM_FIXED , entry.nDataSize); BYTE *ret = new BYTE[entry.nDataSize];
//读出旧位图
if(pStm)pStm->Read((BYTE*)hGlob, entry.nDataSize, NULL);
outPak->EndFile();
CreateStreamOnHGlobal(hGlob, TRUE, &stream);编译的时候在最后一句的时候提示:
error C2664: 'CreateStreamOnHGlobal' : cannot convert parameter 3 from 'struct XStream *' to 'struct IStream ** '请各位帮忙
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
这样写试试::CreateStreamOnHGlobal(hGlob, TRUE, &stream);
这样的代码在我这里直接编译通过struct
{
int nDataSize;
}entry;
int _tmain(int argc, _TCHAR* argv[])
{
IStream* stream;
HGLOBAL hGlob;
hGlob = GlobalAlloc( GMEM_FIXED , entry.nDataSize);
CreateStreamOnHGlobal(hGlob, TRUE, &stream);
return 0;
}