Проблема: std::vector::resize + __declspec(align(16)) class
От: IROV..  
Дата: 09.01.07 09:02
Оценка:
class __declspec(align(16)) Matrix
{
public:

private:
    float m[16];
};

void main()
{
    std::vector<Matrix> v;

    v.resize(10);
}

error C2719: '_Val': formal parameter with __declspec(align('16')) won't be aligned
d:\projects\laga\laga\main.cpp(83) : see reference to class template instantiation 'std::vector<_Ty>' being compiled
with
[
_Ty=Matrix
]


это лечится?

Кроме как перелопатить вектор и добавить

void resize(size_type _Newsize, const _Ty & _Val)

вместо

void resize(size_type _Newsize, _Ty _Val)

(* кстати непонятно почему там именно _Ty а не конст? расчет на sizeof( _Ty ) <= 4
я не волшебник, я только учусь!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.