У меня есть класс mat4, матрица 4x4, которая использует sse intrinsics. Этот класс выровнен с использованием _MM_ALIGN16, поскольку он сохраняет матрицу как набор __m128. Проблема в том, что когда я объявляю atomic<mat4>, мой компилятор кричит на меня:
f:\program files (x86)\microsoft visual studio 12.0\vc\include\atomic(504): error C2719: '_Val': formal parameter with __declspec(align('16')) won't be aligned
Это та самая ошибка, которую я получаю, когда пытаюсь передать любой класс, выровненный с _MM_ALIGN16, в качестве аргумента для функции (без использования const &).
Как я могу объявить атомную версию моего класса mat4?