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