Aqlier/ 5月 4, 2019/ iPhone

Xcode 開発のswitch命令を使用した際、「case 8(対象となる変数が”8″ならば)」の判定で、「Invalid digit ‘8’ in octal constant」というエラーがでました。

ーーー日本語訳ーーー
8進定数の無効な数字 ‘8’

caseの判定で「1,2,3…7」までは、何事もありません。同様に「9,10,11…」以降は、何事もありません。それが、8になるとエラー(無効)となります。(稀に遭遇する理解できない現象です。8進数?)


原因調べるのも面倒なので、対処方法はcaseでの判断時、「8」以外での数値項目判定にすることが楽に対処できそうです。

switch命令の前に、8なら、仮に“100”を加算して、108にして判断するとか…。
この対処を忘れて、2次的なロジカルエラーが発生しないようにすることも必要です。