次の方法で共有


コンパイラ エラー (C2500 - C2599)

ドキュメントのこのセクションのアーティクルでは、コンパイラによって生成されるエラー メッセージの一部について説明します。

重要

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++ のヘルプとコミュニティに関するページを参照してください。

エラー メッセージ

エラー メッセージ
コンパイラ エラー C2500 'identifier1': 'identifier2' は既に直接の基底クラスです
コンパイラ エラー C2501 'identifier': '__declspec(specifier)' は、構造体、共用体、クラス、または符号なしビット フィールド メンバーにのみ適用できます
コンパイラ エラー C2502 'identifier': 基底クラスでアクセス修飾子が多すぎます
コンパイラ エラー C2503 'class': 基底クラスにサイズが 0 の配列があります
コンパイラ エラー C2504 'class': 定義されていない基底クラスが宣言されています
コンパイラ エラー C2505 'symbol': '__declspec(specifier)' は、グローバル オブジェクトの宣言または定義、および静的データ メンバーにのみ適用できます
コンパイラ エラー C2506 'member': '__declspec(specifier)' はこのシンボルに適用できません
コンパイラ エラー C2507 'identifier': 基底クラスで virtual 修飾子が多すぎます
コンパイラ エラー C2508 'identifier': '__declspec(specifier1)' を '__declspec(specifier2)' と組み合わせることはできません
コンパイラ エラー C2509 'identifier': メンバー関数が 'class' で宣言されていません
コンパイラ エラー C2510 'identifier': '::' の左側は、クラス、構造体、共用体のいずれかでなければなりません
コンパイラ エラー C2511 'identifier': オーバーロードされたメンバー関数が 'class' にありません
コンパイラ エラー C2512 'identifier': クラス、構造体、共用体に既定のコンストラクターがありません
コンパイラ エラー C2513 '*type': '=' の前に変数が宣言されていません
コンパイラ エラー C2514 'class': クラスにコンストラクターがありません
コンパイラ エラー C2515 'identifier': 'vtguard' は、クラス宣言または定義にのみ適用できます
コンパイラ エラー C2516 'class': 正しい基底クラスではありません
コンパイラ エラー C2517 'identifier': '::' の右側が定義されていません
コンパイラ エラー C2518 キーワード 'keyword' は基底クラス リストでは無効です。無視されます
コンパイラ エラー C2519 'identifier': WinRT 属性にはパブリック フィールドだけを含めることができます
コンパイラ エラー C2520 'class': 暗黙的な変換に使用できる非明示的なコンストラクターがありません
コンパイラ エラー C2521 デストラクターまたはファイナライザーは引数を受け取りません
コンパイラ エラー C2522 'identifier': オーバーロード識別子は既に 'identifier2' で指定されているため、'identifier1' で使用することはできません
コンパイラ エラー C2523 'class::~identifier': デストラクターまたはファイナライザーのタグが一致しません
コンパイラ エラー C2524 'identifier': デストラクターまたはファイナライザーは 'void' パラメーター リストを必要とします
コンパイラ エラー C2525 'identifier': パラメーター 'identifier1' は基本関数で 'identifier2' という名前が指定されています。公開済みの実装と一致させる必要があります
コンパイラ エラー C2526 'identifier1': C リンケージ関数は、C++ クラス 'identifier2' を返すことはできません
コンパイラ エラー C2527 'identifier': DefaultOverload を 'function1' と 'function2' の両方で指定することはできません。 実装時に、1 つの指定を削除するか関数の名前を変更してください
コンパイラ エラー C2528 'identifier': 参照へのポインターは無効です
コンパイラ エラー C2529 'identifier': 参照への参照は無効です
コンパイラ エラー C2530 'identifier': 参照が初期化されずに宣言されています
コンパイラ エラー C2531 'identifier': ビット フィールドへの参照はできません
コンパイラ エラー C2532 'identifier': 参照の修飾子が正しくありません
コンパイラ エラー C2533 'identifier': コンストラクターの宣言に戻り値の型が含まれています
コンパイラ エラー C2534 'identifier': コンストラクターは値を返せません
コンパイラ エラー C2535 'identifier': メンバー関数は、既に定義または宣言されています
コンパイラ エラー C2536 廃止。
コンパイラ エラー C2537 'specifier': リンケージ指定が不正です
コンパイラ エラー C2538 廃止。
コンパイラ エラー C2539 廃止。
コンパイラ エラー C2540 配列のバウンドが定数式ではありません
コンパイラ エラー C2541 'identifier': ポインターではないオブジェクトを削除することはできません
コンパイラ エラー C2542 'identifier': クラス オブジェクトに初期化するためのコンストラクターがありません
コンパイラ エラー C2543 添字演算子の右角かっこ ']' がありません
コンパイラ エラー C2544 演算子 '()' には ')' が必要です
コンパイラ エラー C2545 'operator': 演算子は、与えられたオペランドには使うことができません
コンパイラ エラー C2546 'identifier': PIA と no-PIA の両方で型が定義されている場合は、PIA を最初に参照する必要があります
コンパイラ エラー C2547 'identifier': 公開されるメソッドのすべてのパラメーターは宣言に明確に指定する必要があります
コンパイラ エラー C2548 'function': パラメーター parameter に既定のパラメーターがありません
コンパイラ エラー C2549 ユーザー定義の変換では、戻り値の型を指定できません
コンパイラ エラー C2550 'identifier': コンストラクターの初期化子リストはコンストラクターの定義だけに許されます
コンパイラ エラー C2551 'void *' 型には明示的なキャストが必要です
コンパイラ エラー C2552 'identifier': 初期化子リストによる個別の識別子の初期化に誤りがあります
コンパイラ エラー C2553 'type derived_class::function': オーバーライドする仮想関数の戻り値の型は 'typebase_class::function' と異なります
コンパイラ エラー C2555 'derived_class::function': オーバーライドする仮想関数の戻り値の型が異なり、'base_class::function' の covariant ではありません
コンパイラ エラー C2556 'type1 class::function': オーバーロード関数は、'type2class::function' と戻り値の型のみが異なります
コンパイラ エラー C2557 'identifier': プライベート メンバー、プロテクト メンバーの初期化にはコンストラクターが必要です
コンパイラ エラー C2558 クラス 'class': コピー コンストラクターが使用できないか、'explicit' として宣言されています
コンパイラ エラー C2559 'identifier': ref 修飾子なしのメンバー関数を ref 修飾子ありのメンバー関数でオーバーロードすることはできません
コンパイラ エラー C2560 'identifier': ref 修飾子ありのメンバー関数を ref 修飾子なしのメンバー関数でオーバーロードすることはできません
コンパイラ エラー C2561 'function': 関数は値を返す必要があります
コンパイラ エラー C2562 'function': 戻り値の型が 'void' で宣言された関数が、値を返しました
コンパイラ エラー C2563 仮パラメーター リストまたは関数へのポインターが、適合していません
コンパイラ エラー C2564 廃止。
コンパイラ エラー C2565 'identifier': ref 修飾子をコンストラクター/デストラクターに使用することはできません
コンパイラ エラー C2566 条件式中のオーバーロード関数を評価することができません
コンパイラ エラー C2567 'filename' 内のメタデータを開くことができません。possible_reason
コンパイラ エラー C2568 'identifier': オーバーロード関数のうち、どれを呼び出すのか決定できません
コンパイラ エラー C2569 'identifier': 列挙および共用体は基底クラスとして使用できません
コンパイラ エラー C2570 'identifier': 共用体は基底クラスを含むことはできません
コンパイラ エラー C2571 'identifier': 仮想関数を共用体 'union' 内に含めることはできません
コンパイラ エラー C2572 'function': 既定引数の再定義: パラメーター number
コンパイラ エラー C2573 'class': この型のオブジェクトへのポインターを削除することはできません。クラスに 'operator delete' の非置換オーバーロードがありません。 ::delete を使用するか、'operator delete(void*)' をクラスに追加してください
コンパイラ エラー C2574 'destructor': static として宣言することはできません
コンパイラ エラー C2575 'identifier': 仮想キーワードを使えるのは、クラスや構造体のメンバーだけです
コンパイラ エラー C2576 'identifier': 新しい仮想メソッドを 'public' として導入することはできません。 メソッドを非仮想にするか、アクセシビリティを 'internal' または 'protected private' に変更することを検討してください
コンパイラ エラー C2577 'identifier': デストラクターまたはファイナライザーに戻り値の型を指定することはできません
コンパイラ エラー C2578 'class': 型には、'protected' または 'protected public' コンストラクターは設定できません
コンパイラ エラー C2579 type (offset) を解決できません。 filename 内にある必要があります
コンパイラ エラー C2580 'identifier': 既定値にされた特殊なメンバー関数の複数のバージョンは使用できません
コンパイラ エラー C2581 'type': 代入演算子 'operator =' が 'static' で宣言されています
コンパイラ エラー C2582 'operator operator' 関数を 'type' で使用できません
コンパイラ エラー C2583 'identifier': 'const/volatile' 'this' ポインターがコンストラクターまたはデストラクターに対して不適切です
コンパイラ エラー C2584 'class': 直接基底 'base_class2' はアクセスできません。既に 'base_class1' の基底です
コンパイラ エラー C2585 'type' への明示的な変換があいまいです
コンパイラ エラー C2586 ユーザー定義の変換構文が正しくありません: 無効な間接参照
コンパイラ エラー C2587 'identifier': ローカル変数が、誤って既定のパラメーターに用いられています
コンパイラ エラー C2588 '::~identifier': 無効なグローバル デストラクター/ファイナライザー
コンパイラ エラー C2589 'identifier': スコープ解決演算子 (::) の右側にあるトークンは使えません
コンパイラ エラー C2590 'identifier': ベース/メンバー初期化子リストを持つことができるのはコンストラクターだけです
コンパイラ エラー C2591 ExclusiveTo では 'type' を引数として使用できません。 'ref class' のみが有効な引数です
コンパイラ エラー C2592 'class': 'base_class2' は 'base_class1' から継承され、再指定はできません
コンパイラ エラー C2593 'operator identifier' があいまいです
コンパイラ エラー C2594 'operator': 'type1' から 'type2' への変換はあいまいです
コンパイラ エラー C2595 'identifier': WinRT 属性型は sealed である必要があります
コンパイラ エラー C2596 'identifier': WinRT 属性フィールドには、'public enum class'、'int'、'unsigned int'、'bool'、'Platform::Type'、'Platform::String'、または 'Windows::Foundation::HResult' のみを指定できます
コンパイラ エラー C2597 静的でないメンバー 'identifier' への参照が正しくありません
コンパイラ エラー C2598 リンケージ指定子がグローバル スコープで宣言されていません
コンパイラ エラー C2599 'identifier': マネージド/WinRT 列挙型の事前宣言は使用できません

関連項目

C/C++ コンパイラおよびビルド ツールのエラーと警告
コンパイラ エラー C2000 - C3999、C7000 - C7999