Я использую проект, который использует библиотеку Eigen. Я должен был уже исправлена проблема, при которой при использовании типов данных, предоставляемых Эйгеном в STL, я получаю сообщение об ошибке AlignИногда не удается создать объект кучи (Eigen с пользовательской структурой)
ошибка C2719: «_Val»: формальный параметр с __declspec (Align ('16')) не будет приведена в соответствие
см
- http://eigen.tuxfamily.org/dox/TopicStlContainers.html или - http://www.mrpt.org/Matrices_vectors_arrays_and_Linear_Algebra_MRPT_and_Eigen_classes)
Как только это было исправлено, я мог скомпилировать и запустить.
Но теперь во время выполнения я получаю другую ошибку
Debug Ошибка!
R6010
прерывание() было вызвано.
Поэтому код в вопросе ссылается моя структура и вектор моей структуры (с собственной специально выровненной FIX):
typedef struct {
Vector4f v4;
Matrix4f M4;
bool b;
} my_struct;
typedef std::vector<my_struct, Eigen::aligned_allocator<my_struct>> my_struct;
Тогда мой код не после того, когда я пытаюсь создать новый my_struct после некоторого количества итераций (иногда он может создавать новый объект без каких-либо проблем), иногда он терпит неудачу.
for (int i = 0; i<len; i++) {
Vector4f vec;
Matrix4f mat;
my_struct* temp = new my_struct();
}
Любые идеи? Том