Можно свои написать на основе обычных: Код (C): PVOID CMemory::AlignedAlloc(SIZE_T sz, UINT nAlign) { ULONG_PTR pRet = (ULONG_PTR)CoTaskMemAlloc(sz + nAlign); ULONG_PTR pOfst = ((pRet + nAlign) & -((INT)nAlign)) - pRet; pRet += pOfst; *((PBYTE)pRet - 1) = (BYTE)pOfst; return (PVOID)pRet; } VOID CMemory::AlignedFree(PVOID pv) { CoTaskMemFree((PVOID)(((ULONG_PTR)pv) - *(((PBYTE)pv) - 1))); }
В строке 28 надо заменить код на: _aligned_free(vec._Myfirst) Впопыхах забыл поменять деструктор. А вообще хорошо бы сделать макрос по типу работы шаблона С++. В место структуры xr_vector, генерируется например так: xr_vector@name_class. Тогда можно избавиться от _Mysizeclass, да ещё бы макрос быстрого деления бы разработать, чтобы быстро вычислять size контейнера.