Я новичок в бусте и метапрограммировании, поэтому моя проблема такова:
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?
Кроме того, кто-то может указать мне на хорошую вводную книгу по метапрограммированию и бусту, чтобы я получил представление об использовании буста и некоторые примеры программирования с использованием буста?
Я действительно считаю, что веб-сайт с онлайн-руководствами - абсолютная ерунда. По крайней мере, это выглядит так для кого-то, кто не совсем новичок в C ++ и STL, но это теряется в оценках объявлений struct, которые используются в «::» и «<>». В общем, все вещи, которые просто делают boost сложным для использования и понимания для новичка.