以下代码是否有问题? 多次调用是否会出现问题?size_t Func2( LPCSTR lpszSrc, BYTE* &pRes );void Func1( LPCSTR lpszSrc )
{
BYTE *pValue = NULL;
size_t size = Func2( lpszSrc, pValue );
.......
if (pValue)
delete [] pValue;
}
size_t Func2( LPCSTR lpszSrc, BYTE* &pRes );
{
size_t Ret = (size_t)lstrlen(lpszSrc);
pRes = new BYTE[Ret];
if ( pRes == NULL )
return 0;
memset( (void*)pRes, (void*)lpszSrc, Ret );
return Ret;
}
{
BYTE *pValue = NULL;
size_t size = Func2( lpszSrc, pValue );
.......
if (pValue)
delete [] pValue;
}
size_t Func2( LPCSTR lpszSrc, BYTE* &pRes );
{
size_t Ret = (size_t)lstrlen(lpszSrc);
pRes = new BYTE[Ret];
if ( pRes == NULL )
return 0;
memset( (void*)pRes, (void*)lpszSrc, Ret );
return Ret;
}
不知道楼主这里第二个参数的意思
cannot convert parameter 2 from 'void *' to 'int'
void *memset( void *dest, int c, size_t count );
{
BYTE *pValue = NULL;
size_t size = Func2( lpszSrc, pValue );
//.......
if (pValue)
delete [] pValue;
}size_t Func2( LPCSTR lpszSrc, BYTE* &pRes )
{
size_t Ret = (size_t)lstrlen(lpszSrc);
pRes = new BYTE[Ret];
if ( pRes == NULL )
return 0;
memcpy((void*)pRes, (void*)lpszSrc, Ret );
return Ret;
}
if (pValue)
{
delete [] pValue;
pValue=NULL;
}