Я новичком, чтобы повысить и метапрограммирование так что моя проблема заключается в следующем:Заполнение зОго :: вектора с данными вектора типа гетерогенной подталкивание :: слитых
typedef fusion::vector<int, char, double, std::string> my_row;
typedef std::vector<my_row> my_vec;
my_row my_data = my_row(3,"f",2,"2");
my_vec t;
t.push_back(my_data); // this doesn't compile and gives error <C2039>
Это может быть очень глупым вопросом для большинства из вас, но почему это не компилируется? Нужно ли каким-либо образом преобразовать вектор my_row в то, что можно сохранить в обычном std :: vector?
Также может кто-то указать мне на хорошую вводную книгу по метапрограммированию и усилению, чтобы я получил менталитет использования boost и некоторые примеры программирования с использованием boost?
Я действительно считаю, что онлайн-сайт руководства является абсолютным мусором. По крайней мере, это выглядит так, чтобы кто-то не был совершенно новым для C++ и STL, но теряется в десятках объявлений «struct», а «::» и «<>». В общем, все то, что просто усиливает, трудно использовать и понимать для новичков.