std::vectorとEigen::MatrixXdを用いた行列計算プログラムでのエラー
std::vectorにEigen::MatrixXdを追加していき, あとからvector内の行列を計算させるプログラムを作りたいのですが, どうしてもうまくいきません...
下のプログラムを実行するとこのようなエラーがでます.
affine.cpp: In function ‘int main(int, const char**)’:
affine.cpp:15:12: error: ‘itr’ does not name a type
for(auto itr = model.begin(); itr != model.end(); ++itr) {
^
affine.cpp:15:33: error: expected ‘;’ before ‘itr’
for(auto itr = model.begin(); itr != model.end(); ++itr) {
^
affine.cpp:15:33: error: ‘itr’ was not declared in this scope
ソースコードはここからです.
#include <iostream>
#include <vector>
#include "Eigen/Core"
int main(int argc, char const* argv[])
{
std::vector<Eigen::MatrixXd> model;
model.push_back(Eigen::MatrixXd(3, 6));
model.push_back(Eigen::MatrixXd(6, 5));
Eigen::MatrixXd a(1, 3);
std::cout << a << std::endl;
for(auto itr = model.begin(); itr != model.end(); ++itr) {
a *= (*itr);
}
return 0;
}
エラーの解決方法に加えてvectorにMatrixXdをpush_backしても後々大丈夫なのかということも教えていただけるとありがたいです.
どなたか分かるかたご教示ください.