std::initializer_list als Funktion argument

Aus irgendeinem Grund dachte ich C++0x erlaubt std::initializer_list als Funktions-argument für die Funktionen, die erwarten, dass Arten, die von konstruiert werden kann, wie zum Beispiel std::vector. Aber anscheinend, funktioniert es nicht. Ist das nur mein compiler, oder wird das nie funktionieren? Ist es wegen der möglichen überlastung der Auflösung Probleme?

#include <string>
#include <vector>

void function(std::vector<std::string> vec)
{
}

int main()
{
    //ok
    std::vector<std::string> vec {"hello", "world", "test"};

    //error: could not convert '{"hello", "world", "test"}' to 'std::vector...'
    function( {"hello", "world", "test"} );
}

InformationsquelleAutor der Frage fredoverflow | 2010-03-01

Schreibe einen Kommentar