Wie kann ich std::map
in Phoenix Lambda-Funktion verwenden?Wie benutzt man std :: map mit boost :: phoenix?
#include <boost\phoenix.hpp>
#include <map>
int main() {
using namespace boost::phoenix;
using namespace boost::phoenix::arg_names;
using namespace std;
map<int, int> m;
auto foo = at(m, 3);
foo();
}
Warum funktioniert es nicht? bekomme ich folgende Fehlermeldung:
C2440 'return': cannot convert from 'int' to 'std::pair<const _Kty,_Ty> ' xxx c:\lib\boost\phoenix\stl\container\container.hpp 167
ich derzeit Visual Studio 2015 Gemeinschaft mit bin und 1,60 Bibliothek steigern.
Bitte lesen Sie diesen Link und senden Sie ein akzeptables Codebeispiel: http://StackOverflow.com/Help/Mcve – xaxxon
Jetzt sieht es gut aus? – ly000
Es verwendet wahrscheinlich 'std :: map :: value_type', um den Ergebnistyp zu bestimmen, der ein' std :: pair 'ist, während' std :: map :: at' nur a zurückgibt Verweis auf den zugeordneten Typ, dh 'int &' oder 'int const &'. –