Eipä tuossa nyt oikein mitenkään auto voi toimia, kun ei tiedetä yhtään, minkä tyypin konstruktoria pitäisi kutsua. Ylipäätänsä ei voi tehdä näin:
auto muuttuja;
Näin voi tehdä:
auto muuttuja = luokka();
Lisäys: Kokeilin tuota koodia korvaamalla vector<int> tyypin autolla ja näköjään g++ päättelee tyypin olevan iteraattori, mikä ei tietenkään ole tässä toivottu lopputulos, eikä sillä ole sopivaa kontruktoria annetuille argumenteille.
Tämä tietenkin toimii:
auto v2 = vector<int>(v1.begin(), v1.end());