boost::fusion::vector in std::vector
-
Ich verstehe das Problem bei dieser Fehlermeldung nicht:
Zuerst code:
#include <boost/fusion/container/vector.hpp> #include <vector> typedef boost::fusion::vector2<const std::string, bool> InType; std::vector<InType> inputs; InType foo("aaa", true); inputs.push_back(foo);Das push_back knallt mit:
Fehler 1 error C2678: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen linksseitigen Operanden vom Typ 'const std::string' akzeptiert (oder keine geeignete Konvertierung möglich) boost\fusion\container\vector\detail\vector_n.hpp 57
Die Ausgabe wirft ne Handvoll unhilfreicher Template errors.
ist der fusion vector nicht assignable und copyable?
-
Das sollte eher an deinem "const std::string" liegen. Das heißt du kannst den wert nicht modifizieren und somit auch nichts zuweisen.
-
Ah, kappiert, danke. Wäre deutlicher, wenn das const in Anführungszeichen wäre