1Kuinコンパイルエラー
Kuinのコンパイルエラーは、16進数のエラーコードで表されます。
エラーコードが「0x00010000」以上「0x0001FFFF」以下なら字句構文解析で発生、「0x00020000」以上「0x0002FFFF」以下なら意味解析で発生、「0x00000000」以上「0x0000FFFF」以下ならその他の場所で発生したものになります。
Kuinで発生するコンパイルエラーの一覧は表1-1の通りです。
エラーコード | メッセージ |
---|---|
0x00000001 | オプション「オプション」の使われ方が正しくありません。 |
0x00000002 | 不明なオプション「オプション」が指定されました。 |
0x00000003 | 入力ファイル「ファイルパス」の拡張子は「.kn」でなければなりません。 |
0x00000004 | ソースファイル名「ファイルパス」に使えない文字が含まれています。 |
0x00000005 | ファイル「ファイルパス」が開けません。 |
0x00000006 | ファイル「ファイルパス」が保存できません。 |
0x00000007 | システムファイル「ファイルパス」が壊れています。 |
0x00000008 | アイコンファイル「ファイルパス」が壊れています。 |
0x00000009 | リソースファイルの数「リソースファイルの数」が多すぎます。 65535個以下でなければなりません。 |
0x0000000A | アーカイブするファイルパス「ファイルパス」に使える文字はASCIIのみです。 全角文字などは使えません。 |
0x00010001 | 同じスコープ内に既に同じ識別子「識別子」が存在します。 |
0x00010002 | 上位のスコープ内に既に同じ識別子「識別子」が存在します。 |
0x00010003 | コメントの「{」に対応する「}」が存在しません。 |
0x00010004 | 文字リテラルや文字列リテラル中にタブ文字は記述できません。 エスケープシーケンス「\t」を代用してください。 |
0x00010005 | 文字リテラルや文字列リテラル中では改行できません。 エスケープシーケンス「\n」を代用してください。 |
0x00010006 | 識別子には使えない文字「文字」が記述されました。 |
0x00010007 | 識別子に正しくない形式で「@」が記述されました。 |
0x00010008 | ソースファイル名の指定「ソースファイル名」に大文字が含まれています。 |
0x00010009 | 識別子に正しくない形式で「\」が記述されました。 |
0x0001000A | 識別子「識別子...」が長すぎます。 128文字以下でなければなりません。 |
0x0001000B | 不正な形式のブロックもしくは文「識別子」が記述されました。 |
0x0001000C | 関数属性には使えない文字「文字」が記述されました。 |
0x0001000D | 関数属性「関数属性...」が長すぎます。 128文字以下でなければなりません。 |
0x0001000E | 文字「文字」が記述されるべき箇所に、不正な文字「文字」が記述されました。 |
0x0001000F | 「ブロック名」に対応する「end ブロック名」が存在しません。 |
0x00010010 | 関数以外のメンバ「メンバ名」をオーバーライドしようとしました。 |
0x00010011 | 関数および変数以外のメンバ「メンバ名」を公開しようとしました。 |
0x00010012 | 「ブロック名」が「end ブロック名」ではなく不正な「end ブロック名」で閉じられました。 |
0x00010013 | 正しくない形式のメンバ「メンバ名」が記述されました。 |
0x00010014 | 引数以外の変数に不正な「&」が記述されました。 |
0x00010015 | 引数に初期化子「::」を記述することはできません。 |
0x00010016 | メンバに初期化子「::」を記述することはできません。 |
0x00010017 | const文には初期化子「::」を記述しなければなりません。 |
0x00010018 | ブロックに対応する「end」が存在しません。 |
0x00010019 | 「end 名前」は不正な形式です。 |
0x0001001A | ブロックと対応しない不正な「end 名前」で閉じられました。 |
0x0001001B | 「if」ブロックで「else」節の後に不正な「elif」節や「else」節が記述されました。 |
0x0001001C | 「switch」ブロックで「default」節の後に不正な「case」節や「default」節が記述されました。 |
0x0001001D | 「try」ブロックで「finally」節の後に不正な「catch」節や「finally」節が記述されました。 |
0x0001001E | 「ブロック名」ブロック以外で不正な「節の名前」節が記述されました。 |
0x0001001F | 「switch」ブロックで「case」「default」「end switch」のいずれかが記述されるべき箇所にそれ以外が記述されました。 |
0x00010020 | 「単語」が記述されるべき箇所に不正な「単語」が記述されました。 |
0x00010021 | 「不正な形式の演算子「演算子」が記述されました。 |
0x00010022 | 不正な形式のエスケープシーケンス「\文字」が記述されました。 |
0x00010023 | 文字コード表記は「\u」に続いて、数字または大文字アルファベットで4桁の16進数を記述しなければなりません。 |
0x00010024 | 文字リテラルもしくは文字列リテラルが閉じられていません。 |
0x00010025 | 文字リテラル「文字リテラル...」が長すぎます。 1文字分を記述しなければなりません。 |
0x00010026 | 文字リテラルが空です。 1文字分を記述しなければなりません。 |
0x00010027 | 括弧「(」に対応する「)」が、あるべき場所に存在しません。 |
0x00010028 | 数値リテラルに不正な形式の「数値リテラル」が記述されました。 |
0x00010029 | 数値リテラル「数値リテラル...」が長すぎます。 1024文字以下でなければなりません。 |
0x0001002A | 16進数リテラルは「0x」から始めなければなりません。 |
0x0001002B | 指数表記リテラルは「e+」もしくは「e-」から始めて指数部を記述しなければなりません。 |
0x0001002C | 浮動小数点リテラル「浮動小数点リテラル」が解釈できませんでした。 値が大きすぎる可能性があります。 |
0x0001002D | ビット型リテラル「ビット型リテラル」の接尾辞は「b8」「b16」「b32」「b64」のいずれかでなければなりません。 |
0x0001002E | 整数リテラル「整数リテラル」がオーバーフローしました。 |
0x0001002F | サブソースファイル「ファイル名」の親ファイルが見つかりませんでした。 |
0x00010030 | サブソースファイル内でファイル「ファイル名」に対し「include」文を使うことはできません。 |
0x00020001 | 「main」関数が存在しません。 コンパイルするソースファイルに「func main()」を定義してください。 |
0x00020002 | 「main」関数の定義は「func main()」としなければなりません。 |
0x00020003 | メンバもしくは変数「識別子」に、「me」を介さず直接アクセスしたか、関数を超えてアクセスしました。 |
0x00020004 | 「ファイル名@」について、自身のソースファイルのグローバル要素を参照するときは、「@」の前のソース名を省略しなければなりません。 |
0x00020005 | 他のソースファイルの公開されていない要素「識別子」を参照しました。要素の先頭に「+」が付いている必要があります。 |
0x00020006 | 識別子「識別子」の定義が見つかりません。名前を間違えている可能性があります。 |
0x00020007 | 「alias 識別子」の定義が循環しています。 |
0x00020008 | 「class 識別子」の継承が循環しています。 |
0x00020009 | オーバーライドする親クラスのメンバ「メンバ名」が見つかりません。 |
0x0002000A | メンバ名「メンバ名」が親クラスのものと重複しています。 オーバーライドする場合は「*」を付けてください。 |
0x0002000B | 関数以外のメンバ「メンバ名」をオーバーライドしようとしました。 |
0x0002000C | オーバーライドしたメンバ「メンバ名」とアクセス修飾子が一致しません。 |
0x0002000D | オーバーライドしたメンバ「メンバ名」と型もしくは引数名が一致しません。 |
0x0002000E | オーバーライドが許可されていないメンバ「メンバ名」をオーバーライドしようとしました。 |
0x0002000F | 列挙型「列挙型名」の要素「%要素名」の値はコンパイル時に定数にできる「int」型の値でなければなりません。 |
0x00020010 | 列挙型「列挙型名」の要素「%要素名」の値が「int」型の有効範囲を超えました。 |
0x00020011 | 列挙型「列挙型名」の要素「%要素名」の値「値」が別の要素の値と重複しています。 |
0x00020012 | 列挙型内に存在しない要素名「%要素名」が記述されました。 |
0x00020013 | グローバル変数「変数名」の値はコンパイル時に定数にできる値でなければなりません。 |
0x00020014 | 「const」文「定数名」の値はコンパイル時に定数にできる値でなければなりません。 |
0x00020015 | 変数「変数名」の型と値の型が一致しません。 |
0x00020016 | 「if」ブロックの条件式は「bool」型でなければなりません。 |
0x00020017 | 「elif」節の条件式は「bool」型でなければなりません。 |
0x00020018 | 「switch」ブロックの条件式は比較可能な型でなければなりません。 |
0x00020019 | 「case」節の型が「switch」ブロックの条件式の型と一致しません。 |
0x0002001A | 「while」ブロックの条件式は「bool」型でなければなりません。 |
0x0002001B | 「for」ブロックの初期値は「int」型でなければなりません。 |
0x0002001C | 「for」ブロックの終値は「int」型でなければなりません。 |
0x0002001D | 「for」ブロックの増減値は「int」型でなければなりません。 |
0x0002001E | 「for」ブロックの増減値はコンパイル時に定数にできる値でなければなりません。 |
0x0002001F | 「for」ブロックの増減値は「0」以外でなければなりません。 |
0x00020020 | 「catch」節の条件値はコンパイル時に定数にできる「int」型の値でなければなりません。 |
0x00020021 | 「throw」文の例外コードは「int」型でなければなりません。 |
0x00020022 | 戻り値を返す関数では「ret」文は値を返さなければなりません。 |
0x00020023 | 「ret」文の値の型が関数の戻り値の型と一致しません。 |
0x00020024 | 「do」文で最後に行う演算は「::」演算子や関数呼び出しなどの副作用のある演算でなければなりません。 |
0x00020025 | 「文の名前」文にはブロック名を指定しなければなりません。 |
0x00020026 | 「assert」文の条件式は「bool」型でなければなりません。 |
0x00020027 | 型を記述すべきところに型以外が記述されました。 |
0x00020028 | 値が設定されるべき場所に値が渡されませんでした。 |
0x00020029 | 演算子の型が正しくありません。 |
0x0002002A | 代入演算子の左辺値が代入可能な変数ではありません。 |
0x0002002B | 「null」は値比較ができません。 |
0x0002002C | 「enum」の要素名「要素名」から型が推測できませんでした。 |
0x0002002D | 「null」は「~」演算子で連結できません。 |
0x0002002E | 0で除算しました。 |
0x0002002F | 「?(,)」演算子の条件式は「bool」型でなければなりません。 |
0x00020030 | 「?(,)」演算子の括弧内の2つの値は同じ型でなければなりません。 |
0x00020031 | 「#」演算子はクラスや「list」「dict」などの参照型にしか使えません。 |
0x00020032 | 「#」演算子に記述する配列の要素数の値は「int」型でなければなりません。 |
0x00020033 | 関数でないものを関数呼び出ししようとしました。 |
0x00020034 | 個数個の引数を受け取る関数呼び出しに個数個の引数が指定されました。 関数の型は「型」です。 |
0x00020035 | 関数呼び出しの番号番目の参照渡しの引数に、参照を取れない値が渡されました。 |
0x00020036 | 関数呼び出しの引数の型が異なります。 番号番目の引数で「型」を指定すべきところに「型」が渡されました。 |
0x00020037 | 配列でないものに配列アクセスしようとしました。 |
0x00020038 | 配列の添字は「int」型でなければなりません。 |
0x00020039 | 参照先のメンバ「メンバ名」が存在しません。 |
0x0002003A | 公開されていないメンバ「メンバ名」を参照しました。 |
0x0002003B | 配列初期化子「[]」の要素の型が一致していません。 |
0x0002003C | 値型の配列初期化子「[]」に「null」が記述されました。 |
0x0002003D | 配列初期化子「[]」のすべての要素が「enum」の要素名のため、型が決定できませんでした。 いずれかの要素名をキャストして型を示してください。 |
0x0002003E | 配列初期化子「[]」のすべての要素が「null」のため、型が決定できませんでした。 いずれかの「null」をキャストして型を示してください。 |
0x0002003F | アクセスできない要素「識別子」にアクセスしました。 |
0x00020040 | 「excode」文の式は「[]char」型の定数でなければなりません。 |
0x00020041 | 「dict」型のキーは比較可能な型でなければなりません。 |
0x00020042 | クラス「クラス名」のインスタンスは#演算子で生成できません。 |