Zum Beispiel definiert ich ein mehrdimensionales ArrayIst für (auto & a: a) grammatikalisch richtig?
array<array<array<int, 3>, 4>, 5> a;
Und ich es Schleife
for (auto& a : a)
for (auto& a : a)
for (auto& a : a)
a = 1;
Ist das in der Grammatik richtig? Ich habe in VS2015 getestet. Keine Kompilierungsfehler.
@Resurrection: Es lässt sich nicht kompilieren, weil es nicht übereinstimmend '<' and '>' in der Erklärung von 'a'. Nachdem das behoben wurde, sollte es kompiliert werden, da dies legal ist (zum Beispiel akzeptiert clang es). –
@BenVoigt Ich habe es bemerkt und korrigiert, aber es kompiliert immer noch nicht in VS2015 mit Redefinition Fehler. EDIT: Ok, vergiss es, ich hatte eine andere Variable namens "a" dort. Nun, das war verwirrend! – Resurrection