[eigen] Eigen 2 alignment errors in VS2010 |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
I am attempting to create a struct
struct Triangle
{
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Eigen::Vector2d verts[3];
};
and then to create a vector of triangles:
vector<Triangle> tris(20);
However, this is causing the following compile error under Visual
Studio 2010:
C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\include\vector(870): error C2719: '_Val': formal parameter with
__declspec(align('16')) won't be aligned
There is no error under g++ 4.5.0.
As far as I can tell, this occurs because a Triangle is passed to the
vector's resize() function by value, and you can't make any promises
about the alignment of function parameters passed by value apparently.
Is there any kind of workaround for this issue?