kam ich mit dem Follow-up:Pass eine std Behälter auf eine Funktion
template <typename T> inline void printcontainer(std::vector<T> container)
{
for(auto it = container.begin(); it != container.end(); it++)
{
std::cout << *it << std::endl;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<int> v;
v.push_back(5);
v.push_back(4);
v.push_back(3);
printcontainer(v);
return 0;
}
(Sorry für die push_backs
, Visual Studio nicht akzeptiert initializer Listen ... igitt !!)
jetzt Diese Funktion ist auf std::vector
begrenzt, wie kann ich es so machen, dass ich andere Container, wie std::list
Arrays etc ...
Welche Version von VC++ verwenden Sie das nicht initializer Listen nicht unterstützt? – MikeMB
Visual Studio 2012, Dinge wie 'std :: vector v {1,2,3};' wird nicht unterstützt, so dass Sie die c-style Array-Workaround verwenden müssen, die ich ziemlich verachten. Auch hat es nicht 'std :: initializer_list' ziemlich seltsam eh. –
Richtig, ich habe mich so an C++ 11 gewöhnt, dass ich vergessen habe, dass VS viele/am meisten angenommen hat? C++ 11 Funktionen nicht vor VS 2013. – MikeMB