次のプログラムを検討してください。
int main ()
{
const int e = 10;
for (decltype(e) i{0}; i < e; ++i) {
// do something
}
}
これはclang(およびgcc)でコンパイルできません:
decltype.cpp:5:35: error: read-only variable is not assignable
for (decltype(e) i{0}; i < e; ++i) {
^ ~
i
基本的に、コンパイラはそれが const でなければならないと仮定していe
ます。
decltype
の型を取得するために使用できる方法はありますe
が、指定子を削除しconst
ますか?