- 211 名前:はちみつ餃子 mailto:sage [2021/08/06(金) 00:25:46.52 ID:xkvwFph10.net]
- >>202
基本的には否だが、許容される場合はありうる。 main の型は以下のいずれか。 @ int main(void); A int main(int argc, char * argv[]); B 以上の二つのいずれかと等価 †1 C 以上の三つのいずれでもない処理系定義の方法 それとは別に 「main関数の返却値の型がintと適合しない場合,ホスト環境に戻される終了状態は,未規定とする。」†2 とするという文言もある。 C で言う「未規定」というのは処理系が挙動を選択して良いことを意味するので、 適合しなくても適合したときと同等の処理になるように実装している処理系はあるかもしれない。 enum で定義した型 (列挙型) は 「char,符号付き整数型又は符号無し整数型と適合する型とする。型の選択は,処理系定義とする」 †3 とあり、列挙型が int と適合する可能性はある。 また、上述のCとして処理系が main の返却値の型が列挙型であったときを許容するような定義をしているかもしれない。 ------------------------- †1 typedef やマクロによる別名、あるいは型調整などで同等になるものという意味 †2 「適合」に関する規則は複雑なのでここでは説明しない †3 個別の列挙型ごとに選択してよい
|

|