コンパイラ エラー (C2900 - C2999)
ドキュメントのこのセクションのアーティクルでは、コンパイラによって生成されるエラー メッセージの一部について説明します。
重要
Visual Studio のコンパイラとビルド ツールからは、さまざまな種類のエラーと警告が報告されます。 エラーや警告の検出後、ビルド ツールではコードの意図が仮定され、処理の続行が試行されるため、さらに多くの問題が同時に報告されることがあります。 ツールによるこの仮定が誤っていると、それ以降のエラーや警告がプロジェクトに適用されない場合があります。 プロジェクト内の問題を解決するときは、必ず、報告された最初のエラーまたは警告から開始し、多くの場合はリビルドしてください。 1 つの修正によって、その後のエラーが多数解消される可能性があります。
Visual Studio の特定の診断メッセージのヘルプを見るには、[出力] ウィンドウで選択し、F1 キーを押します。 Visual Studio によって、そのエラーのドキュメント ページが開きます (存在する場合)。 ページの上部にある検索ツールを使用して、特定のエラーまたは警告に関する記事を検索することもできます。 または、ツール別のエラーと警告の一覧を参照し、このページの目次に入力します。
Note
すべての Visual Studio エラーまたは警告が文書化されているわけではありません。 多くの場合、診断メッセージでは利用可能なすべての情報が提供されます。 F1 を使用してこのページにアクセスし、エラーまたは警告メッセージに追加の説明が必要と思われる場合は、お知らせください。 このページのフィードバック ボタンを使用すると、GitHub でドキュメントに関する問題を提起できます。 エラーまたは警告が間違っていると思われる場合、またはツールセットに別の問題が見つかった場合は、Developer Community サイトで製品の問題を報告してください。 また、フィードバックを送信し、IDE 内でバグを入力することもできます。 Visual Studio でメニュー バーに移動し、[ヘルプ] > [フィードバックの送信] > [問題の報告] を選択するか、[ヘルプ] > [フィードバックの送信] > [提案の送信] を使用して提案を送信します。 コンパイラ エラー トピックがいくつか作成されましたが、これらはコンパイラによって出力されず、代わりにこのページにリダイレクトされるようになりました。
Microsoft Learn Q&A フォーラムで、エラーと警告に関する追加のサポートが見つかる場合があります。 または、Visual Studio C++ Developer Community サイトでエラーまたは警告番号を検索します。 Stack Overflow でソリューションを検索することもできます。
その他のヘルプとコミュニティ リソースへのリンクについては、Visual C++ のヘルプとコミュニティに関するページを参照してください。
エラー メッセージ
エラー | メッセージ |
---|---|
コンパイラ エラー C2900 | 'declarator': WinRT クラスのメンバー関数テンプレートは、'private'、'internal'、または 'protected private' である必要があります。 |
コンパイラ エラー C2901 | 'identifier': 汎用インターフェイスまたはデリゲートはパブリックにできません |
コンパイラ エラー C2902 | 'token': 'template/generic' に続く予期しないトークン。想定されているのは識別子です (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2903 | 'identifier': シンボルはクラス テンプレート/ジェネリックでも関数テンプレート/ジェネリックでもありません |
コンパイラ エラー C2904 | 'identifier': 名前は、現在のスコープで、テンプレートに対して使用されています。 |
コンパイラ エラー C2905 | 廃止。 |
コンパイラ エラー C2906 | 'template': 明示的な特殊化は 'template <>' を必要とします |
コンパイラ エラー C2907 | レジスタ引数 'number' で有効なレジスタ番号を指定していません |
コンパイラ エラー C2908 | 明示的な特殊化; 'template' は既にインスタンス化されています |
コンパイラ エラー C2909 | 'identifier': 関数テンプレートの明示的なインスタンス化には戻り値の型が必要です |
コンパイラ エラー C2910 | 'function': 明示的な特殊化にすることはできません。 |
コンパイラ エラー C2911 | 'member': 現在のスコープ内で宣言または定義できません |
コンパイラ エラー C2912 | 明示的な特殊化 'declaration' は関数テンプレートの特殊化ではありません |
コンパイラ エラー C2913 | 明示的な特殊化 'declaration' はクラス テンプレートの特殊化ではありません |
コンパイラ エラー C2914 | 'identifier': 関数の引数があいまいなためテンプレート/ジェネリック引数を減少できません |
コンパイラ エラー C2915 | 'identifier': 'type' は、WinRT 型の発行されたサーフェスでは直接使用できません。 代わりに 'Platform::Object^' を使用して、この型を渡します |
コンパイラ エラー C2916 | 'identifier': [FlagsAttribute] は、基になる型が 'unsigned int' である public 列挙型 に (のみ) 指定する必要があります |
コンパイラ エラー C2917 | 'identifier': 無効なテンプレートパラメーター (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2918 | 'identifier': WinRT 型の発行サーフェスではインデックス付きのプロパティは使用できません |
コンパイラ エラー C2919 | 'type': WinRT 型の発行サーフェスでは演算子は使用できません |
コンパイラ エラー C2920 | 再定義: 'type': クラス テンプレート/ジェネリックは既に 'declaration' として宣言されています |
コンパイラ エラー C2921 | 再定義: 'type': クラス テンプレート/ジェネリックは 'declaration' として宣言されています |
コンパイラ エラー C2922 | 'interface': WinRT インターフェイスに静的メンバーを含めることはできません |
コンパイラ エラー C2923 | 'type': 'identifier' は、パラメーター 'parameter' の有効なテンプレート型引数ではありません |
コンパイラ エラー C2924 | declspec(interrupt) ルーチンの引数が R2 にありません |
コンパイラ エラー C2925 | __declspec(interrupt) は浮動小数点を使用できません |
コンパイラ エラー C2926 | 'identifier': 共用体内の匿名構造体のメンバーには、既定のメンバー初期化子を使用できません |
コンパイラ エラー C2927 | 'identifier': 関数テンプレートの呼び出しには、少なくとも 1 つ以上の実引数を指定する必要があります |
コンパイラ エラー C2928 | 明示的なインスタンス生成。'identifier' はテンプレート クラス 'class' の関数または静的なデータ メンバーのいずれでもありません |
コンパイラ エラー C2929 | 'declarator': 明示的なインスタンス生成。明示的にテンプレート クラス メンバーのインスタンス生成を行ったり抑制したりできません |
コンパイラ エラー C2930 | 'class': テンプレート id/ ジェネリック id が 'enum identifier' の列挙子として再定義されました |
コンパイラ エラー C2931 | 'class1': template-id/generic-id が 'class2' のメンバー関数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2932 | 'type': template-id/generic-id が 'identifier' のデータ メンバーとして再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2933 | 'type': template-id/generic-id が 'identifier' の typedef メンバーとして再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2934 | 'type': template-id/generic-id が 'identifier' の入れ子になった 'item' として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2935 | 'type': template-id/generic-id がグローバル関数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2936 | 'type': template-id/generic-id がグローバル データ変数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2937 | 'type': template-id/generic-id がグローバル typedef として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2938 | 'identifier' : エイリアス テンプレートの特殊化に失敗しました |
コンパイラ エラー C2939 | 'type': template-id/generic-id がローカル データ変数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2940 | 'type': template-id/generic-id がローカル typedef として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2941 | 'type': template-id/generic-id がローカル 'item' として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2942 | 'type': template-id/generic-id が関数の仮引数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2943 | 'type': template-id/generic-id がテンプレートの型引数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2944 | 'type': template-id/generic-id がテンプレートの値引数として再定義されています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2945 | 明示的なインスタンス生成でテンプレート クラスの特殊化を参照していません。 |
コンパイラ エラー C2946 | 明示的なインスタンス化。'type' はテンプレート クラスの特殊化ではありません |
コンパイラ エラー C2947 | テンプレート引数を終了するために '>' が必要ですが、'token' が見つかりました |
コンパイラ エラー C2948 | 明示的なインスタンス化。ストレージ クラス指定子 'specifier' は特殊化では許可されていません |
コンパイラ エラー C2949 | thread_local は /kernel でサポートされていません |
コンパイラ エラー C2950 | 廃止。 |
コンパイラ エラー C2951 | テンプレート/ジェネリック宣言は、グローバル、名前空間、またはクラス スコープのみで許可されています |
コンパイラ エラー C2952 | 'declaration': テンプレート/ジェネリック宣言にテンプレート/ジェネリック パラメーター リストがありません |
コンパイラ エラー C2953 | 'type': クラス テンプレートは既に定義されています |
コンパイラ エラー C2954 | 命令語の引数が範囲を超えています |
コンパイラ エラー C2955 | 'type': クラス テンプレート/ジェネリックの使用には、テンプレート/ジェネリックの引数リストが必要です |
コンパイラ エラー C2956 | 通常の割り当て解除関数である 'function' が配置の割り当て解除関数として選択されることになります |
コンパイラ エラー C2957 | 'token': 無効な左側の区切り文字です: '<' が必要です |
コンパイラ エラー C2958 | 'file(line_number)' で見つかった左の delimiter が正しくマッチしませんでした |
コンパイラ エラー C2959 | ジェネリック クラスまたは関数は、テンプレートのメンバーになることはできません |
コンパイラ エラー C2960 | 廃止。 |
コンパイラ エラー C2961 | 'function': 矛盾する明示的インスタンス化、以前のインスタンス化では 'argument' を指定していませんでした |
コンパイラ エラー C2962 | 構文エラー: 'token': テンプレート クラスのメンバー関数の定義を終了するための '}' がありません |
コンパイラ エラー C2963 | 廃止。 |
コンパイラ エラー C2964 | 廃止。 |
コンパイラ エラー C2965 | __declspec (指定子) は/kernel でサポートされていません |
コンパイラ エラー C2966 | 'identifier1': 基底クラスである 'identifier2' と同じ __declspec(code_seg(...)) を持つ必要があります (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2967 | 'identifier': オーバーライドする仮想関数はオーバーライドされる仮想関数と同じ __declspec(code_seg(...)) を持つ必要があります (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2968 | 'identifier': エイリアスの宣言が再帰的です |
コンパイラ エラー C2969 | 構文エラー: 'token': メンバー関数の定義を終了するための '}' がありません |
コンパイラ エラー C2970 | 'type': テンプレート パラメーター 'parameter': 'argument': 内部リンケージがあるオブジェクトを含む表現を、非型引数として使用することはできません |
コンパイラ エラー C2971 | 'type': テンプレート パラメーター 'parameter': 'argument': ストレージ期間が静的でない変数を非型引数として使用することはできません |
コンパイラ エラー C2972 | 'type': テンプレート パラメーター 'parameter': 非型引数の型が無効です |
コンパイラ エラー C2973 | 'template': テンプレート引数 'number' が無効です |
コンパイラ エラー C2974 | 'type': テンプレート/ジェネリック引数が 'parameter' に対して無効です。型が必要です |
コンパイラ エラー C2975 | 'type' : 'parameter' の無効なテンプレート引数です。コンパイル時の定数式が必要です |
コンパイラ エラー C2976 | 'type': テンプレート/ジェネリック引数の数が少なすぎます |
コンパイラ エラー C2977 | 'type': テンプレート/ジェネリック引数の数が多すぎます |
コンパイラ エラー C2978 | 構文エラー: 'keyword1' または 'keyword2' が必要ですが、型 'type' が見つかりました。非型パラメーターはジェネリックではサポートされていません |
コンパイラ エラー C2979 | 明示的な特殊化はジェネリックではサポートされていません |
コンパイラ エラー C2980 | C++ 例外処理は /kernel でサポートされていません |
コンパイラ エラー C2981 | 'keyword' の動的形式は /kernel でサポートされていません |
コンパイラ エラー C2982 | 'declaration': 異なる __declspec (code_seg (...)) が使用されています: 'identifier1' が 'identifier2' になりました |
コンパイラ エラー C2983 | 'declaration': すべての宣言に同一の __declspec (code_seg (...)) を指定しなければなりません |
コンパイラ エラー C2984 | 廃止。 |
コンパイラ エラー C2985 | 'argument': __declspec(code_seg(...)) の引数はテキスト セクションでなければなりません |
コンパイラ エラー C2986 | 'identifier': __declspec(code_seg(...)) は、クラスまたは関数にのみ適用できます |
コンパイラ エラー C2987 | 1 つの宣言に __declspec(code_seg('identifier')) と __declspec(code_seg('value')) の両方を含めることはできません |
コンパイラ エラー C2988 | 認識できないテンプレートの宣言または定義です |
コンパイラ エラー C2989 | 'class': クラステンプレート/ジェネリックは、すでに非クラス テンプレート/ジェネリックとして宣言されています |
コンパイラ エラー C2990 | 'class': 非クラスのテンプレート/ジェネリックは、すでにクラス テンプレート/ジェネリックとして宣言されています |
コンパイラ エラー C2991 | テンプレート/ジェネリック パラメーター 'parameter' の再定義 |
コンパイラ エラー C2992 | 'class': テンプレート/ジェネリック パラメータ リストが無効または欠落しています |
コンパイラ エラー C2993 | 'type': 非型テンプレート パラメーター 'identifier' に対する無効な型です |
コンパイラ エラー C2994 | テンプレートのパラメーター リストに名前のないクラスがあります。 |
コンパイラ エラー C2995 | 'declaration': 関数テンプレートは既に定義されています |
コンパイラ エラー C2996 | 'function': 再帰的な関数テンプレートの定義 |
コンパイラ エラー C2997 | 'function': 配列のバインドは、既定のメンバー初期化子から推測できません |
コンパイラ エラー C2998 | 'declarator': テンプレート定義ではありません |
関連項目
C/C++ コンパイラおよびビルド ツールのエラーと警告
コンパイラ エラー C2000 - C3999、C7000 - C7999