2013-04-20 2 views
0

Как отбросить значение для вектора слияния во время выполнения?Как отбросить значение для вектора слияния во время выполнения?

typedef boost::fusion::vector<A*, B*, C*> vec_t; 

    vec_t vec_; 

    vec_.push_back(new A()); 
+3

Операции последовательности, которые выполняются на 'fusion :: vector', являются только компиляцией. После того, как тип был вычислен во время компиляции, «fusion :: vector» становится не более чем кортежем. Если вы хотите использовать изменяемый вектор времени выполнения, вы должны использовать 'std :: vector'. – Mankarse

+0

спасибо, человек. +1. –

ответ

2

Операции последовательности, которые делаются на fusion::vector все время компиляции только. Как только тип был вычислен во время компиляции, fusion::vector станет не более чем кортежем.

Если вы хотите использовать изменяемый вектор времени, то вы должны использовать std::vector.