2016-03-08 20 views
7

Görünüşe göre auto parametreleri ile g ++ sadece ilk auto'u kullanır. Bu bir hata mı?Bu g ++ C++ 14 desteğindeki bir hata mı?

auto f(std::vector<auto> a) 
{ 
    a.push_back('0'); 
    return std::string(""); 
} 
@SergeyA tarafından belirtildiği gibi

http://ideone.com/T69ytm

+3

Evet, gcc bir hatadır. Std :: vector 'kabul edilmemelidir. – SergeyA

+3

Bu standart C++ 14 değil. Kavramlar desteği bir GCC uzantısıdır. – Brian

+3

'auto' parametrelerinin, normal işlevlerde değil, lambdalarda izin verilir. std :: vector ', lambda'da izin verilen bir form değildir. –

cevap

2

, bu bir GCC hatasıdır. std::vector<auto> kabul edilmemelidir.

İlgili konular