#include <vector>
#include <functional>
int main(int argc, char** argc)
{
std::vector<int> x;
std::function<void (void)> f(std::allocator_arg,x.get_allocator());
return 1;
}
Verwendung: g++ test.cpp -o test -std=c++11
Er scheiterte an Ubuntu 15
, mein g++ version is 5.2.1
. es ist alles ok auf XCode
und VS2015
. und ich überprüfe /usr/include/c++/5/functional
, es hat keinen Konstruktor für Zuweiser. Ich überprüfe www.cplusplus.com
, und es definiert den Konstruktor mit Zuordner.
Jemand kann mir sagen, wie dieses Problem zu beheben, oder ich muss die g ++ STL ändern, Wie g ++ STL mit anderen STL ändern? Ich habe sgi stl Quellcodes heruntergeladen.
Bitte helfen! Danke vielmals .Warum unterstützt g ++ keine Funktion mit Allokator-Konstruktor auf Ubuntu?
'allocator_arg' ist eine Konstante - Ihr Code macht keinen Sinn mehr als' std :: function f (PI); '. –
Bis GCC 6.1.0, 'std :: function' mit Zuweiser wird immer noch nicht unterstützt, die Quelle hat Kommentar' // TODO: braucht allocator_arg_t' – Mine
vielen Dank. Ich gebe mit Zuordner ~ auf – NeoLiu