std::remove_cv<const int[3]>
hangi tür üretmek gerekir? int[3]
veya const int[3]
?std :: remove_cv, const dizisinin bir dizisini oluşturur?
const int[3]
doğru bir array of 3 const int
olduğunu ?, ve hiçbir üst düzey cv-eleme sahiptir. Yani const int[3]
üretmemeli? Gcc/libstdC++ 'nin son sürümü int[3]
'u üretiyor. Bu bir hata mı? Neden/neden olmasın?
davranış mantıklı olsa da, bunu haklı nasıl acaba ... (Bir 3 'int' bir' const' dizi olarak okuyabilirim.) – Deduplicator
Değerine bağlı olarak 'şablon yapı gibi bir uzmanlık kullanarak sona ereceği remove_cv {using type = T; }; '. Ben T const [N] 'nin bu uzmanlık ile eşleşmeyeceğini sanmıyorum. DietmarKühl @ –
: Standart "[sonuç tipi] herhangi bir üst düzey ev-niteleyici kaldırıldı dışında T ile aynı olacaktır." Der –