2010-09-02

誰が得するのか分からない配列の仕様

配列において、あるエンティティが、同じスコープ内で前方宣言されていて、要素数が指定されている場合、省略された要素数は、すでにある宣言から得られる。

extern int a[5] ; // int [5]型のエンティティaの宣言
int a[] ; // OK、型はint [5]となる

この仕様は、実に最新のN3126で規定されたものである。しかし、既存のコンパイラーが、このコードを問題なく通すところを見ると、おそらく、すでにこのような合意があり、それを明文化しただけのように思える。

No comments: