次の方法で共有


コンパイラ エラー(C2300 - C2399)

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

重要

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

エラー メッセージ

エラー メッセージ
コンパイラ エラー C2300 'class': クラスに '~class' というデストラクターがありません
コンパイラ エラー C2301 '->~identifier' の左側はクラス、構造体、共用体へのポインターでなければなりません。
コンパイラ エラー C2302 '.~identifier' の左側はクラス、構造体、共用体型でなければなりません
コンパイラ エラー C2303 構造化例外処理をコルーチンで使用することはできません
コンパイラ エラー C2304 'keyword' を catch ブロックの内側で使用することはできません
コンパイラ エラー C2305 'file' はこのモジュールのデバッグ情報を含んでいません
コンパイラ エラー C2306 'file' はこのモジュールの最新のデバッグ情報を含んでいません
コンパイラ エラー C2307 インクリメンタル コンパイルが有効になっている場合、pragma directive は関数の外になければなりません
コンパイラ エラー C2308 適合していない文字列を連結しています
コンパイラ エラー C2309 catch ハンドラーにはかっこで囲まれた例外宣言が必要です
コンパイラ エラー C2310 catch ハンドラーでは 1 つの型を指定する必要があります
コンパイラ エラー C2311 'type': 行 number の '...' によってキャッチされました
コンパイラ エラー C2312 'type1': 行 number の 'type2' によってキャッチされました
コンパイラ エラー C2313 'type1': 行 number の参照 ('type2') でキャッチされました
コンパイラ エラー C2314 キーワード 'keyword1' は非推奨です。代わりに 'keyword2' を使用してください
コンパイラ エラー C2315 'type1': 参照は行 number の 'type2' でキャッチされました
コンパイラ エラー C2316 'type': デストラクターとしてキャッチできない、またはコピー コンストラクターがアクセスできないか削除されている、またはその両方です
コンパイラ エラー C2317 'number' 行目で始まっている 'try' ブロックには catch ハンドラーがありません
コンパイラ エラー C2318 この catch ハンドラーと関連付けられた try ブロックはありません。
コンパイラ エラー C2319 'try/catch' の後に複合ステートメントを指定する必要があります。 '{' がありません
コンパイラ エラー C2320 アクセス指定子 'specifier' の後には ':' が必要です
コンパイラ エラー C2321 'identifier' はキーワードで、このコンテキストでは使用できません
コンパイラ エラー C2322 'identifier': dllimport 'identifier' のアドレスは静的ではありません
コンパイラ エラー C2323 'identifier': 非メンバー演算子の new または delete 関数が static として宣言されていないか、またはグローバル名前空間以外の名前空間にある可能性があります
コンパイラ エラー C2324 'identifier': '::~' の右側に予期されていません
コンパイラ エラー C2325 'type1': '->~' の右の型が無効です: 'type2' が必要です
コンパイラ エラー C2326 'declarator': 関数は 'identifier' へアクセスできません
コンパイラ エラー C2327 'identifier': 型名、静的、または列挙子ではありません
コンパイラ エラー C2328 'keyword': キーワードはまだサポートされていません
コンパイラ エラー C2329 'identifier': __ptr64 は関数へのポインターとして使用できません
コンパイラ エラー C2330 'implementation_key( )' は #pragma start_map_region/stop_map_region でバインドされた領域にのみ有効です
コンパイラ エラー C2331 'identifier' へのアクセスは 'accessibility1' として定義されています (以前は 'accessibility2' と定義されていました)
コンパイラ エラー C2332 'typedef': タグ名がありません
コンパイラ エラー C2333 'function': 関数宣言のエラーです。関数の本体は無視されます
コンパイラ エラー C2334 'token' の前に予期しないトークンがありました。関数の本体は無視されます
コンパイラ エラー C2335 'identifier': 関数のパラメーター リストに型を導入することはできません
コンパイラ エラー C2336 'type': 不適切な型です
コンパイラ エラー C2337 'attribute': 属性が見つかりません
コンパイラ エラー C2338 (外部プロバイダーからのエラー メッセージ)
コンパイラ エラー C2339 'identifier': 埋め込み IDL 内の型が無効です
コンパイラ エラー C2340 'identifier': 'static' はクラス定義内のみで使用できます
コンパイラ エラー C2341 'section': セグメントは、#pragma data_seg、code_seg、または section を使用して、使用前に定義されなければなりません
コンパイラ エラー C2342 構文エラー: 型修飾子が競合しています
コンパイラ エラー C2343 'section': セクション アトリビュートが競合しています
コンパイラ エラー C2344 align(number): アラインメントは 2 の累乗でなければなりません
コンパイラ エラー C2345 align(number): 無効なアラインメント値です
コンパイラ エラー C2346 'function' をネイティブとしてコンパイルすることはできません: 'explanation'
コンパイラ エラー C2347 廃止。
コンパイラ エラー C2348 'type': C 形式の集約ではありません、埋め込み IDL 内でエクスポートできません
コンパイラ エラー C2349 'function' をマネージドとしてコンパイルできません: 'explanation'。アンマネージド #pragma を使用します
コンパイラ エラー C2350 'identifier' は静的メンバーではありません
コンパイラ エラー C2351 古い C++ コンストラクター初期化構文です
コンパイラ エラー C2352 'identifier': 静的でないメンバー関数の呼び出しが正しくありません
コンパイラ エラー C2353 例外指定は許可されていません
コンパイラ エラー C2354 廃止。
コンパイラ エラー C2355 'this': 静的でないメンバー関数の内部または静的でないデータ メンバー初期化子においてのみ参照できます
コンパイラ エラー C2356 初期化セグメントは翻訳単位の間で変更することはできません
コンパイラ エラー C2357 'identifier': 型 'type' の関数でなければなりません
コンパイラ エラー C2358 'identifier': 静的プロパティはクラス定義の外では定義できません
コンパイラ エラー C2359 廃止。
コンパイラ エラー C2360 'identifier' の初期化が 'case' ラベルによってスキップされています
コンパイラ エラー C2361 'identifier' の初期化が 'default' ラベルによってスキップされています
コンパイラ エラー C2362 'identifier' の初期化が 'goto label' によってスキップされています
コンパイラ エラー C2363 コンパイラ組み込み型の数値制限関数には、文字列リテラル引数が必要です
コンパイラ エラー C2364 'type': カスタムの属性として不適切な型です
コンパイラ エラー C2365 'member1': 再定義、以前の定義は 'member2' でした
コンパイラ エラー C2366 'identifier': 再定義、異なる implementation_key 指定子です
コンパイラ エラー C2367 廃止。
コンパイラ エラー C2368 'identifier': 再定義、異なるアロケーション指定子です
コンパイラ エラー C2369 'identifier': 再定義、異なる添字です
コンパイラ エラー C2370 'identifier': 再定義、異なるストレージ クラスです
コンパイラ エラー C2371 'identifier': 再定義、異なる基本型です
コンパイラ エラー C2372 'identifier': 再定義、異なる間接参照です
コンパイラ エラー C2373 'identifier': 再定義、異なる型修飾子です
コンパイラ エラー C2374 'identifier': 再定義、2 回以上初期化されています
コンパイラ エラー C2375 'identifier': 再定義、異なるリンケージです
コンパイラ エラー C2376 'identifier': 再定義、based の割り当てが異なっています
コンパイラ エラー C2377 'identifier': 再定義、typedef は他のどのシンボルでもオーバーロードできません
コンパイラ エラー C2378 'identifier': 再定義、シンボルは typedef でオーバーロードできません
コンパイラ エラー C2379 仮パラメーター number は、昇格されると異なる型になります
コンパイラ エラー C2380 'identifier' の前の型 (戻り値の型を持つコンストラクター、または現在のクラスの不正な定義?)
コンパイラ エラー C2381 'identifier': 再定義。'__declspec(noreturn)' または '[[noreturn]]' が異なります
コンパイラ エラー C2382 'identifier': 再定義、異なる例外指定です
コンパイラ エラー C2383 'identifier': 既定の引数をこのシンボルで使用できません
コンパイラ エラー C2384 'member': thread_local または __declspec(thread) を managed または WinRT クラスのメンバーに適用できません
コンパイラ エラー C2385 'member' へのアクセスがあいまいです
コンパイラ エラー C2386 'identifier': この名前のシンボルがカレント スコープ内に既に存在します
コンパイラ エラー C2387 'identifier': あいまいな基底クラスです
コンパイラ エラー C2388 'identifier': __declspec(appdomain) および __declspec(process) の両方を指定してシンボルを宣言することはできません
コンパイラ エラー C2389 'operator': オペランド 'nullptr' は正しくありません
コンパイラ エラー C2390 'identifier': ストレージ クラス 'specifier' が正しくありません
コンパイラ エラー C2391 'identifier': 'friend' は型定義中には使えません
コンパイラ エラー C2392 'member1': covariant の戻り型は managed または WinRT 型ではサポートされていません。そうでない場合は、'member2' はオーバーライドされます
コンパイラ エラー C2393 'symbol': appdomain ごとのシンボルをセグメント 'segment' で割り当てられません
コンパイラ エラー C2394 'type::operator operator': CLR または WinRT 演算子が無効です。 少なくとも 1 つのパラメーターが次の型である必要があります: 'T^'、'T^%'、'T^&' (T = 'type')
コンパイラ エラー C2395 'type::operator operator': CLR または WinRT 演算子が無効です。 少なくとも 1 つのパラメーターが次の型である必要があります: 'T'、'T%'、'T&'、'T^'、'T^%'、'T^&' (T = 'type')
コンパイラ エラー C2396 'type1::operator type2': CLR または WinRT のユーザー定義された変換関数は無効です。 変換元または変換先が次の値でなければなりません: 'T^'、'T^%'、'T^&' (ここで T = 'type1')
コンパイラ エラー C2397 'type1' から 'type2' への変換には縮小変換が必要です
コンパイラ エラー C2398 要素 'number': 'type1' から 'type2' への変換には縮小変換が必要です
コンパイラ エラー C2399 廃止。

関連項目

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