2016-03-08 16 views
7

Sembra che con i parametri auto g ++ usi solo il primo auto che incontra. è un insetto?Si tratta di un bug nel supporto di g ++ C++ 14?

auto f(std::vector<auto> a) 
{ 
    a.push_back('0'); 
    return std::string(""); 
} 

http://ideone.com/T69ytm

+3

Sì, è un bug gcc. Non dovrebbe aver accettato 'std :: vector '. – SergeyA

+3

Questo non è standard C++ 14. Il supporto per i concetti è un'estensione GCC. – Brian

+3

I parametri 'auto' sono consentiti in lambda, non nelle normali funzioni. 'std :: vector ' non è un modulo consentito anche in lambdas. –

risposta

2

Come affermato da @SergeyA, questo è un bug di GCC. std::vector<auto> non avrebbe dovuto essere accettato.

Problemi correlati