以下は予想通りエラーを出します:
int* const const p = new int; // g++ error: duplicate cv-qualifier
ただし、上記と同等であっても、以下ではエラーは発生しません。
typedef int* const intp_const;
intp_const const p = new int; // ok !
// ^^^^^ duplicate ?
コンパイラが余分なものを無視するのはなぜconst
ですか?
[注:可能であるため、とintp_const const
は異なります。]const char* const
*p = <value>;