在visual express 2010中使用std::copy出现错误

Getting errors with std::copy in visual express 2010

本文关键字:copy 错误 std express visual 2010      更新时间:2023-10-16

我得到错误:C2036: 'void *':未知大小C2100:非法间接C2440: '=':无法从'CUSTOMVERTEX'转换为'void *'

 VOID* pVertices;
if( FAILED( g_pVB->Lock( 0, sizeof( Vertices ), ( void** )&pVertices, 0 ) ) )
    return E_FAIL;
std::copy( Vertices, Vertices, pVertices );
g_pVB->Unlock();
return S_OK;

不知道怎么回事

对于std::copy,需要三个迭代器作为参数。在您的调用中,unicsolsed顶点可能是合适的,尽管它可能是一个空范围,因此您可以直接删除副本。

最后一个必须是与输入兼容的输出迭代器。Void *绝对是错误的,因为你不能增加它,或者为赋值目的取消引用它。