次の方法で共有


コンパイラ エラー (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