コンパイラ エラー (C2800 - C2899)
ドキュメントのこのセクションのアーティクルでは、コンパイラによって生成されるエラー メッセージの一部について説明します。
重要
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++ のヘルプとコミュニティに関するページを参照してください。
エラー メッセージ
エラー | メッセージ |
---|---|
コンパイラ エラー C2800 | 'operator operator' はオーバーロードできません |
コンパイラ エラー C2801 | 'member' は静的でないメンバーでなければなりません |
コンパイラ エラー C2802 | 静的なメンバー 'operator operator' に正式引数リストがありません |
コンパイラ エラー C2803 | 'operator operator' の宣言で、クラス型のパラメーターが 1 つも指定されていません |
コンパイラ エラー C2804 | バイナリ 'operator operator' のパラメーターが多すぎます |
コンパイラ エラー C2805 | バイナリ 'operator operator' のパラメーターが少なすぎます |
コンパイラ エラー C2806 | 'operator operator' の正式パラメーターが多すぎます |
コンパイラ エラー C2807 | 後置形式の 'operator operator' に対する第 2 パラメーターは、int 型と宣言しなければなりません |
コンパイラ エラー C2808 | 'operator operator' の正式パラメーターが多すぎます |
コンパイラ エラー C2809 | 'operator operator' の正式パラメーターがありません |
コンパイラ エラー C2810 | 'interface': インターフェイスは他のインターフェイスからのみ継承できます |
コンパイラ エラー C2811 | 'type1': 'type2' から継承することはできません。ref クラスは ref クラスまたはインターフェイス クラスからのみ継承できます |
コンパイラ エラー C2812 | #import は /clr:pure および /clr:safe でサポートされていません |
コンパイラ エラー C2813 | #import は /MP でサポートされていません |
コンパイラ エラー C2814 | 'member' : ネイティブ型をマネージド /WinRT 型の 'class' の中で入れ子にできません |
コンパイラ エラー C2815 | 'operator delete': 1 番目の実引数は 'void *' 型でなければなりませんが、'type' が使用されました |
コンパイラ エラー C2816 | 関数に似たマクロ 'identifier' の呼び出しの終端に ')' がありません |
コンパイラ エラー C2817 | 'operator delete' の戻り値の型は 'void' 型でなければなりません |
コンパイラ エラー C2818 | オーバーロードされた 'operator ->' のアプリケーションは 'class' 型を通して再帰的です |
コンパイラ エラー C2819 | 型 'class' にはオーバーロードされたメンバー 'operator ->' がありません |
コンパイラ エラー C2820 | 廃止。 |
コンパイラ エラー C2821 | 'operator new' の 1 番目の正式引数は 'size_t' 型でなければなりません |
コンパイラ エラー C2822 | ローカル アンワインドはこのプラットフォームではサポートされていません |
コンパイラ エラー C2823 | typedef テンプレート/ジェネリックが正しくありません |
コンパイラ エラー C2824 | 'operator new' 演算子の戻り値の型は 'void *' でなければなりません |
コンパイラ エラー C2825 | 'identifier': '::' が後に続くときは、クラスまたは名前空間でなければなりません |
コンパイラ エラー C2826 | 廃止。 |
コンパイラ エラー C2827 | 'operator operator' を、単項式でグローバルにオーバーライドすることはできません |
コンパイラ エラー C2828 | 'operator operator' を、バイナリ形式でグローバルにオーバーライドすることはできません |
コンパイラ エラー C2829 | 'operator operator' は変数のパラメーター リストを持つことができません |
コンパイラ エラー C2830 | 'operator new' の標準の仮引数には既定の値を与えることはできません |
コンパイラ エラー C2831 | 'operator operator' には既定のパラメーターを持つことができません |
コンパイラ エラー C2832 | 'identifier': 参照型は値を初期化できません |
コンパイラ エラー C2833 | 'operator token' は認識された演算子または型ではありません |
コンパイラ エラー C2834 | 'operator operator' はグローバルに修飾する必要があります (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2835 | ユーザー定義の型変換 'type' は正式引数をとりません |
コンパイラ エラー C2836 | 'identifier': 既定のメンバー初期化子を持つことができるのは、共用体の非静的データ メンバー 1 つのみです |
コンパイラ エラー C2837 | 'function': OpenMP ディレクティブと #pragma loop(hint_parallel) を同じ関数内で使用することはできません |
コンパイラ エラー C2838 | 'identifier': メンバー宣言内の修飾名が不正です |
コンパイラ エラー C2839 | オーバーロードされた 'operator ->' の戻り値の型 'type' が不正です |
コンパイラ エラー C2840 | 命令ワードの引数が定数以外です |
コンパイラ エラー C2841 | レジスタ引数が定数以外です |
コンパイラ エラー C2842 | 'class': マネージド /WinRT 型はそれ自体の 'operator new' または 'operator delete' を定義できません |
コンパイラ エラー C2843 | 'member': マネージド /WinRT 型の非静的データ メンバーのアドレスを取得できません |
コンパイラ エラー C2844 | 'identifier': インターフェイス 'interface' のメンバーにできません |
コンパイラ エラー C2845 | 'type': ポインター演算はこの型では使用できません |
コンパイラ エラー C2846 | 'interface': インターフェイスはコンストラクターを持てません |
コンパイラ エラー C2847 | マネージド /WinRT 型の 'class' に対して sizeof を使用できません |
コンパイラ エラー C2848 | 'class': マネージド /WinRT 型を共用体のメンバーに指定することはできません |
コンパイラ エラー C2849 | 'interface': インターフェイスにはデストラクターを指定できません |
コンパイラ エラー C2850 | 'construct': ファイル スコープ時だけ有効です。nested コンストラクトには存在できません |
コンパイラ エラー C2851 | 'enum': パブリック WinRT 列挙型では、基本型として 'int' または 'unsigned int' だけ使用できます |
コンパイラ エラー C2852 | 'identifier': データ メンバー以外はクラス内で初期化できません |
コンパイラ エラー C2853 | 'identifier': 非静的データ メンバーは、'auto' を含む型にできません |
コンパイラ エラー C2854 | #pragma hdrstop に構文エラーがあります |
コンパイラ エラー C2855 | コマンド ライン オプション 'option' は、プリコンパイル済みヘッダーが作成されたときのものと異なります |
コンパイラ エラー C2856 | #pragma hdrstop は、#if ブロックの中で使用できません |
コンパイラ エラー C2857 | /Ycfilename コマンド ライン オプションで指定された '#include' ステートメントは、ソース ファイルに含まれていません |
コンパイラ エラー C2858 | コマンドライン オプション '/Yc (/Fdfilename)' はプリコンパイル済みヘッダーと一致しません。これは '/Fdfilename' を使用しています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2859 | filename は、このプリコンパイル済みヘッダーが作成されたときに使用された filetype ファイルではありません。プリコンパイル済みヘッダーを再作成してください。 |
コンパイラ エラー C2860 | '(void)' の場合を除き、'void' を関数パラメーターとして使用できません |
コンパイラ エラー C2861 | 'declaration': インターフェイスのメンバー関数を定義できません |
コンパイラ エラー C2862 | 'interface': インターフェイスには public メンバーのみ指定できます |
コンパイラ エラー C2863 | 'interface': インターフェイスにはフレンドを指定できません |
コンパイラ エラー C2864 | 'identifier' : in-class initializer を持つ静的データ メンバー/テンプレート変数には、非 volatile const 整数型が必要です |
コンパイラ エラー C2865 | 'operator': オブジェクト ポインター/ハンドルの比較が不正です |
コンパイラ エラー C2866 | 廃止。 |
コンパイラ エラー C2867 | 'identifier' : 名前空間ではありません |
コンパイラ エラー C2868 | 'identifier': 使用宣言の構文が不正です。qualified-name が必要です |
コンパイラ エラー C2869 | 'identifier': 名前空間として既に定義されています |
コンパイラ エラー C2870 | 'identifier': 名前空間定義はファイル スコープ、または他の名前空間定義の中に置かなければなりません |
コンパイラ エラー C2871 | 'identifier' : この名前を指定された名前空間は存在しません |
コンパイラ エラー C2872 | 'identifier': あいまいなシンボルです |
コンパイラ エラー C2873 | 'symbol': シンボルは使用宣言の中で使用できません |
コンパイラ エラー C2874 | 使用宣言によって 'identifier' の多重宣言が発生しています |
コンパイラ エラー C2875 | using 宣言によって 'class::identifier' の多重宣言が発生しています (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2876 | 'class::member' : アクセスできないオーバーロードが存在します |
コンパイラ エラー C2877 | 'member' は 'class' からアクセスできません |
コンパイラ エラー C2878 | 'identifier': この名前の名前空間またはクラスがありません |
コンパイラ エラー C2879 | 'identifier': 既存の名前空間のみ、名前空間別名の定義によって別の名前を与えることができます |
コンパイラ エラー C2880 | __swi または __hvc には、最初の引数として有効な定数が必要です (SWI 数) |
コンパイラ エラー C2881 | 'identifier': 'class' クラスのエイリアスとして既に使用されています |
コンパイラ エラー C2882 | 'identifier': 式の中で名前空間の識別子が正しく使用されていません |
コンパイラ エラー C2883 | 'function': 関数宣言は使用宣言で導入された 'identifier' と競合しています |
コンパイラ エラー C2884 | 'identifier': 使用宣言で導入された関数は、ローカル関数 'function' と競合しています |
コンパイラ エラー C2885 | 'class::identifier': 非クラス スコープでは有効な使用宣言ではありません |
コンパイラ エラー C2886 | 'class::identifier': シンボルをメンバー 使用宣言の中で使用することはできません |
コンパイラ エラー C2887 | __swi または __hvc には 5 つ以上の引数 (SWI 数 r0 から r3) を指定できません |
コンパイラ エラー C2888 | ' identifier ': シンボルを名前空間 'namespace' 内で定義することはできません |
コンパイラ エラー C2889 | 'class': マネージド /WinRT クラス型は仮想基底クラスにできません |
コンパイラ エラー C2890 | 'class': ref クラスは、インターフェースではない基底クラスを 1 つだけ持つことができます |
コンパイラ エラー C2891 | 'parameter': テンプレートのパラメーターのアドレスを取得できません |
コンパイラ エラー C2892 | ローカルクラスにはメンバーテンプレートを指定できません |
コンパイラ エラー C2893 | 関数テンプレート 'template' の特殊化に失敗しました |
コンパイラ エラー C2894 | テンプレートが 'C' リンケージであると宣言できません |
コンパイラ エラー C2895 | 'declaration': dllimport で宣言されている関数テンプレートを明示的にインスタンス化できません |
コンパイラ エラー C2896 | 'function1': 関数テンプレート/ジェネリックの 'function2' を関数の引数として使用できません (Visual Studio 2022 では廃止されています。) |
コンパイラ エラー C2897 | デストラクター/ファイナライザーを関数テンプレートにすることはできません |
コンパイラ エラー C2898 | 'declaration': メンバー関数テンプレートを仮想にすることはできません |
コンパイラ エラー C2899 | 廃止。 |
関連項目
C/C++ コンパイラおよびビルド ツールのエラーと警告
コンパイラ エラー C2000 - C3999、C7000 - C7999