compiled this code with ideone var. Ve neden derleme hatası verdiğini merak ediyordum. constexpr
işlevi template
argümanı olarak izin verilmiyor mu, yoksa derleyicide bir hata mı var?Constexpr işlevini şablon argümanı olarak kullanmak geçerli midir?
Düzenleme: Üstelik int get()
için const int get()
değişti ideone ile Eğer constexpr
sonra still declaring an array is allowed kaldırırsanız, yani bir daha hata var !! Bence bu bir C99 özelliği.
Düzenlemeleriniz yanlıştır, 'consttexpr const get() 'yaptık. – GManNickG
@GMan, teşekkürler ... – iammilind
Düzenlemede, bu bir C99 özelliğidir ve gcc bir uzantı olarak sahiptir, ancak uygun C++ değildir ve taşınabilir olmayacaktır. Standartlara dahil edilmek olarak kabul edildi ve reddedildiği için, derleme zamanında türlerin (büyüklüğün türün bir parçası) bilinmesi gerektiği değişmezdi. C de bu kadar önemli değil, fakat C++'da bu diziyi bir şablona bir tür argüman olarak kullanamazsınız (derleme zamanında kesin tip bilinmeyen) - bu arada gcc'deki davranışa göre, Eğer yapmaya çalışırsanız şikayet. –