Microsoft C/C++ コンパイラ警告 C5200 から C5399

このセクションの記事では、Microsoft C/C++ コンパイラの警告メッセージ C5200 から C5399 について説明します。

重要

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

警告メッセージ

警告 メッセージ
コンパイラの警告 (レベル 1) C5200 機能 'feature-name' にはコンパイラ フラグ 'option-name' が必要です
コンパイラの警告 (レベル 1) C5201 グローバル モジュール フラグメントが使用されている場合を除き、モジュール宣言は翻訳単位の開始時にのみ指定できます
コンパイラの警告 (レベル 1) C5202 グローバル モジュール フラグメントに含めることができるのはプリプロセッサ ディレクティブのみです
コンパイラの警告 (レベル 1) C5203 'explicit' の後のかっこで囲まれた宣言子の名前は、C++20 で明示的な指定子と見なされます
コンパイラの警告 (レベル 3、オフ) C5204 'type-name: クラスは仮想関数を含んでいますが、その単純なデストラクターが仮想ではありません。このクラスから派生したオブジェクトのインスタンスは正しく消滅されない可能性があります
コンパイラの警告 (レベル 4) C5205 非仮想デストラクターを持つ抽象クラス 'type-name' を削除すると、未定義の動作が発生します
コンパイラの警告 (レベル 3) C5206 コルーチンの推測された戻り値の型は非標準の拡張機能です
コンパイラの警告 (レベル 1) C5207 単純な要件は、式 'e->id' の有効性をアサートします。 '{ e } -> id' を意図していますか? この警告を非表示にするには、'{ e->id }' を使用してください
コンパイラの警告 (レベル 1) C5208 typedef 名で使用されている名前のないクラスでは、静的でないデータ メンバー、メンバーの列挙値、メンバー クラス以外のメンバーを宣言できません
コンパイラの警告 (レベル 1) C5209 init キャプチャの C++20 構文が '& ...opt identifier initializer' に変更されました
コンパイラの警告 (レベル 1) C5210 'name' は有効なヘッダー ユニットの参照ではありません。無視します
コンパイラの警告 (レベル 1) C5212 'name' は有効な名前付き参照ではありません。ファイルへの参照として扱われます
コンパイラの警告 (レベル 1) C5213 名前付き参照 'name' は名前付きパーティションとして扱われますが、名前が指定されていません。ファイルへの参照として扱われます
コンパイラの警告 (レベル 4、オフ) C5214 volatile 修飾型のオペランドに 'modifier' を適用することは、C++20 では非推奨です
コンパイラの警告 (レベル 4、オフ) C5215 'name': volatile 修飾型の関数パラメーターは C++20 では非推奨です
コンパイラの警告 (レベル 4、オフ) C5216 'name': volatile 修飾の戻り値の型は C++20 では非推奨です
コンパイラの警告 (レベル 4、オフ) C5217 volatile を含む構造化バインディング宣言は C++20 では非推奨です
コンパイラの警告 (レベル 1) C5218 非準拠のスイッチ '/Zc:sizedDealloc-' または '/Zc:alignedNew-' が使用されている場合、destroying delete が意図したとおりに動作しない可能性があります
コンパイラの警告 (レベル 2、オフ) C5219 'type-1' から 'type-2' への暗黙の型変換です。データが失われる可能性があります
コンパイラの警告 (レベル 4、オフ) C5220 'name': 揮発性修飾型の非静的データ メンバーは、コンパイラによって生成されたコピーまたは移動コンストラクターとコピーまたは移動代入演算子がトリビアルではないことを示さなくなりました
コンパイラの警告 (レベル 1) C5221 xfg::rename は非推奨です。
コンパイラの警告 (レベル 3) C5222 'attribute-name': 対象範囲外のすべての属性名は、将来の標準化のために予約されています
コンパイラの警告 (レベル 3) C5223 属性名前空間 'msvc' のすべての属性名は実装用に予約されています
コンパイラの警告 (レベル 3) C5224 属性名前空間 'namespace-name' のすべての属性名は、将来の標準化のために予約されています
コンパイラの警告 (レベル 1) C5225 'symbol': プライベート モジュール フラグメントに定義されているエクスポートされたインライン関数は、非標準の拡張機能です
コンパイラの警告 (レベル 1) C5226 'symbol': プライベート モジュール フラグメントに定義されているエクスポートされたテンプレートには、到達可能なインスタンス化がありません
コンパイラの警告 (レベル 4) C5227 非標準の拡張機能が 'symbol' から 'value' に解決されましたが、これは /permissive- がオンの場合には表示されません。
コンパイラの警告 (レベル 4) C5228 非標準の拡張機能 'identifier' が依存ベースのメンバーに解決されました。 /permissive- では、この検索は許可されていません。
コンパイラの警告 (レベル 4) C5229 非標準の拡張機能で、名前参照によって非表示の friend 関数 'function-name' が見つかりましたが、これは /permissive- では許可されていません。
コンパイラの警告 C5230 /permissive で、非標準の拡張機能 'identifier' が 'symbol-1' に解決されました。 /permissive- では、これは 'symbol-2' に解決されます。
コンパイラの警告 (レベル 3) C5231 式 'co_await promise.final_suspend()' は、非スローにする必要があります
コンパイラの警告 (レベル 1) C5232 C++20 では、この比較によって 'name' が再帰的に呼び出されます
コンパイラの警告 (レベル 4、オフ) C5233 明示的なラムダ キャプチャ 'identifier' は使用されません
コンパイラの警告 (レベル 1) C5234 ファイル システム エラー: 'filename' は有効なヘッダー名ではありません。無視します
コンパイラの警告 (レベル 1) C5235 JSON 解析エラー: message。'filename' を無視します
コンパイラの警告 (レベル 1) C5236 JSON の形式が正しくありません: message。'filename' を無視します
コンパイラの警告 (レベル 1) C5237 ヘッダー ユニット エントリ 'name' を 'filename' のヘッダー ファイルに解決できません。エントリを無視します
コンパイラの警告 (レベル 1) C5238 ファイル システム エラー: 読み取り用に 'filename' を開くことができません。無視します
コンパイラの警告 (レベル 4) C5239 'symbol': __declspec(nothrow) を宣言した関数から、スローする可能性のある関数が呼び出されました。 例外がスローされると、未定義の動作が発生するおそれがあります。
コンパイラの警告 (レベル 4) C5240 'attribute-name': 属性はこの構文の位置では無視されます
コンパイラの警告 (レベル 1) C5241 ルックアップ ヘッダー名に '/exportHeader' を使用することは非推奨になりました。'/headerName:name value=filename' をお勧めします
コンパイラの警告 (レベル 1) C5242 pragma 'identifier' に構文エラーがあります
コンパイラの警告 (レベル 1、オフ) C5243 'type-name': 不完全なクラス 'class-name' を使用すると、ABI の制限のために定義ルール違反が 1 つ発生する可能性があります
コンパイラの警告 (レベル 1) C5244 モジュール 'module-name-1' の purview の '#include <filename>' が誤って表示されます。 モジュール宣言の前にそのディレクティブを移動するか、テキスト インクルードを 'import <module-name-2>;' に置き換えることを検討してください。
コンパイラの警告 (レベル 4、オフ) C5245 'function': 内部リンケージ含む参照されていない関数が削除されました
コンパイラの警告 (レベル 1、オフ) C5246 'member': サブオブジェクトの初期化は中かっこで囲む必要があります
コンパイラの警告 (レベル 1、オフ) C5247 セクション 'section-name' は C++ 動的初期化用に予約されています。 セクションを手動で作成すると、C++ の動的な初期化が妨げられ、未定義の動作が発生する可能性があります
コンパイラの警告 (レベル 1、オフ) C5248 セクション 'section-name' は C++ 動的初期化用に予約されています。 セクションに手動で配置された変数は最適化されている可能性があり、コンパイラによって生成された動的初期化子に対する順序が指定されていません。
コンパイラの警告 (レベル 1、オフ) C5249 型 'enumeration_name' の 'bitfield' には、指定されたビット フィールドの幅 'bitfield_width' で表現できない値を持つ名前付き列挙子があります。
コンパイラの警告 (レベル 3、オフ) C5250 'function_name': 組み込み関数は宣言されていません。
コンパイラの警告 (レベル 4、オフ) C5251 ヘッダーを含めた後に segment-name が変更されました
コンパイラの警告 (レベル 4) C5252 複数の異なる型により、同じ XFG 型ハッシュ hash-value が生成されました。PDB はそのうちの 1 つの情報のみを記録します
コンパイラの警告 (レベル 4) C5253 ローカル以外のラムダにキャプチャの既定値を指定することはできません
コンパイラの警告 (レベル 4、オフ) C5254 言語機能 'terse static assert' にはコンパイラ フラグ '/std:c++17' が必要です
コンパイラの警告 (レベル 3) C5255 未終了の双方向文字が見つかりました: 'U+XXXX'
コンパイラの警告 (レベル 1、オフ) C5256 'enumeration': 基になる固定の型を持つ列挙の定義されていない宣言は、スタンドアロン宣言としてのみ許可されます
コンパイラ警告 (レベル 1 または 4) C5257 'enumeration': 列挙型は、以前に基になる固定の型なしで宣言されました
コンパイラの警告 (レベル 4、オフ) C5258 この用途には、'symbol' の明示的なキャプチャは必要ありません
コンパイラの警告 (レベル 4、オフ) C5259 'specialized-type': 明示的な特殊化は 'template <>' を必要とします
コンパイラの警告 (レベル 1) C5260 定数の変数 'variable-name' には包含されたヘッダー ファイル コンテキスト内に内部リンケージがありますが、インポートされたヘッダー ユニット コンテキスト内に外部リンケージがあります。翻訳単位間で共有される場合は 'inline' を宣言することを同様に検討してください。または、この翻訳単位に対してローカルで使用する意図を表す場合は 'static' を宣言することを検討してください
コンパイラの警告 (レベル 2) C5261 列挙型 'enum-name' のすべての列挙子値を表すことができる整数型はありません
コンパイラの警告 (レベル 1、エラー、オフ) C5262 ここで暗黙的なフォールスルーが発生します。break ステートメントが不足している可能性があります break ステートメントがケース間で意図的に省略された場合は [[fallthrough]] を使用します
コンパイラの警告 (レベル 4、オフ) C5263 一時オブジェクトで 'std::move' を呼び出すと、コピーの省略が禁止されます
コンパイラの警告 (レベル 4、オフ) C5264 'variable-name': 'const' 変数が使用されていません
コンパイラの警告 (レベル 1) C5265 検索パス 'path' を開けません
コンパイラの警告 (レベル 4、オフ) C5266 戻り値の型の 'const' 修飾子は無効です
コンパイラの警告 C5267 'type' の暗黙的なコピー コンストラクター/代入演算子の定義は、ユーザー指定の代入演算子/コピー コンストラクターがあるため非推奨です
コンパイラの警告 (レベル 1) C5268 固定アドレス 0xaddress でメモリを割り当てられませんでした。 ビット同一の .pch ファイルが必要な場合は、/Yb を使用して特定のアドレス ベースを指定します。
コンパイラの警告 (レベル 1) C5269 固定アドレス 0xaddress で PCH メモリを割り当てられませんでした。 ビット同一の .pch ファイルが必要な場合は、/Ym を使用して特定のアドレス ベースを指定します。
コンパイラの警告 (レベル 3) C5270 'value' はオプションの 'switch name' に使用できません。許可される値は value list です
コンパイラの警告 (レベル 4) C5271 以前にインポートされたアセンブリ 'assembly1' の名前は、インポートされるアセンブリ 'assembly2' と同じです。 これは意図的にしたことですか?
コンパイラの警告 (レベル 1) C5272 コピーできない型 'type' のオブジェクトをスローすることは非標準です。 実行時にコピーが必要な場合は、memcpy が行ったように実行されます。
コンパイラの警告 (レベル 1) C5273 動作の変更: 匿名型の _Alignas が無視されなくなりました (昇格されたメンバーはアラインされます)
コンパイラの警告 (レベル 1) C5274 動作の変更: _Alignas は型 'type' に適用されなくなりました (宣言されたデータ オブジェクトにのみ適用されます)
コンパイラの警告 (エラー) C5275 ファサード アセンブリ 'name' が '/clr' の下にインポートされます。オプション '/clr:netcore' がありません
コンパイラ警告 (レベル 1、エラー) C5300 '#pragma omp atomic': 'operator' の左オペランドは、assignment-expression の左辺と一致する必要があります
コンパイラの警告 (レベル 1) C5301 '#pragma omp for': 'loop-index' は、ループ条件で 'comparison' を使用している間増え続けます。終了しないループの可能性があります。
コンパイラの警告 (レベル 1) C5302 '#pragma omp for': 'loop-index' は、ループ条件で 'comparison' を使用している間減り続けます。終了しないループの可能性があります。
コンパイラの警告 (レベル 1) C5303 [[msvc::intrinsic]] でマークされた関数で、no-op キャストが発生しませんでした
コンパイラの警告 (レベル 1) C5304 このモジュールからエクスポートされた using 宣言 'name1' によって指定された宣言には内部リンケージがあり、モジュールの外部でこのような名前を使用する形式は正しくありません。'name2'inline' を宣言してこのモジュールの外部で使用することを検討してください
コンパイラの警告 (レベル 1) C5305 '名前': 明示的なインスタンス化定義に続く明示的なインスタンス化宣言は無視されます

関連項目

C/C++ コンパイラおよびビルド ツールのエラーと警告
コンパイラの警告 C4000 - C5999