Niestety nie można. Specyfikacja podaje się pod 7.1.6.4/3 i podąża za
W przeciwnym razie typ zmiennej wywodzi się z jej inicjatora. Nazwa deklarowanej zmiennej nie pojawia się w wyrażeniu inicjalizacyjnym. Takie użycie funkcji auto jest dozwolone, gdy deklarowane są zmienne w bloku (6.3), w obszarze przestrzeni nazw (3.3.6) oraz w instrukcji na potrzeby init (6.5.3).
Specyfikator typu auto może być również używany do zadeklarowania zmiennej w warunku instrukcji wyboru (6.4) lub instrukcji iteracji (6.5), w specyfikacji typu-seq w identyfikatorze nowego-typu lub id-type nowego wyrażenia (5.3.4), w deklaracji do zakresu i deklarując statyczny element danych za pomocą inicjalizatora klamrowego lub równoważnego, który pojawia się w specyfikacji składowej definicji klasy (9.4.2).
Program wykorzystujący auto w kontekście, który nie jest wyraźnie dozwolony w tej sekcji, jest nieprawidłowy.
Nie jestem pewien, dlaczego zakazują auto
dla niestatycznych członków danych, byłoby bardzo przydatne.
Nie sądzę, że auto jest tam dozwolone. Ale nawet gdyby tak było, nie działałoby to, ponieważ spowodowałoby to niepowodzenie odliczenia. We wszystkich trzech przypadkach "auto" musi być tego samego typu. – sellibitze
Czy umieszczenie ich w oddzielnych deklaracjach jest w porządku? Chodzi mi o to, czy możemy rzeczywiście używać auto wewnątrz struktury, jak pokazałem w przykładzie? – AraK
Nie wiem, dlaczego jest to odrzucane. To brzmi jak ważne pytanie. –