C言語で発生する警告C4255は、関数プロトタイプで引数のリストを明示していない場合に表示されます。 Microsoftコンパイラでは、引数の指定が存在しない関数定義に対して、空の括弧()を(void)に変更するよう提案されるため、この警告
続きを読む »Visual C++で発生する警告C4256について説明します。 仮想基底クラスを含むクラスのコンストラクター内で省略記号を使用すると、旧バージョンとの互換性に問題が生じる可能性があります。 警告をなくすためには、省略記号を使わない記述方法
続きを読む »Visual C++で出るC4258警告は、forループ内で宣言した変数がループ終了後に使えなくなるため、同じ名前の変数が外側で再利用される状況で発生します。 /Zc:forScopeオプションを利用する際に、この点に注意する必要があります
続きを読む »MicrosoftのC/C++コンパイラでは、警告C4263が、基底クラスの仮想関数と同じ名前を持つ関数を派生クラスで定義した場合に発生します。 引数の数や型が異なるとオーバーライドにならず、意図した動作を得られない可能性があります。 通常
続きを読む »今回の内容は、Visual Studio などの環境で発生するコンパイラ警告 C4264 に関する解説です。 C++ 開発時、仮想関数のオーバーライドが適切に行われない場合に表示されることがあり、既定では警告がオフに設定されています。 また
続きを読む »Microsoft Visual StudioのC++環境で表示される警告C4265は、クラスに仮想関数があるにもかかわらず、デストラクターが非仮想の場合に出ます。 基底クラスのポインターでオブジェクトを削除すると正しく破棄されない可能性が
続きを読む »Microsoft C++コンパイラで出力される警告 C4266 は、基底クラスで複数定義された仮想関数のオーバーロードの一部しか派生クラスでオーバーライドしなかった場合に表示されます。 通常は既定でオフとなっており、/W4オプションなどで
続きを読む »Microsoft C コンパイラで表示される警告 C4267 は、64ビット整数型から 32 ビット整数型に値を代入する際に、情報の丸め落としやオーバーフローが起こる可能性があることを示します。 値が大きすぎる場合に発生するため、適切な型
続きを読む »Visual C++でコンパイルする際、C4268警告が発生することがあります。 これは、constな静的またはグローバル変数がコンパイラによる既定の初期化処理でゼロ初期化されることに関連した警告です。 C言語では変数の自動初期化が標準動作
続きを読む »C言語で表示される警告C4267は、大きな整数型から小さな整数型に変換する際、値が正しく収まらずデータが失われる可能性がある場合に出る警告です。 例えば、long型の値をint型に代入する際、注意が必要となります。 安全な変換処理のため、型
続きを読む »c言語のエラー C4272 は、MicrosoftのVisual C++コンパイラ上で、インポートされた関数に対して不適切な呼び出し規則を指定すると発生します。 例えば、__declspec(dllimport)を使ってインポートする場合、
続きを読む »C言語のコンパイラ警告C4273は、同じ関数や変数に対し、dllimportやdllexportの指定が異なる状態で複数の定義がある場合に発生します。 開発環境が整っている前提で、コード中のDLLリンケージの宣言を統一することで、警告を解消
続きを読む »C4274 は、C言語のコンパイラが出す警告で、非推奨の #ident ディレクティブが無視された場合に表示されます。 古い #ident の代わりに、#pragma comment(exestr, ‘string’
続きを読む »C4275は、DLL用にエクスポートされたクラスの基底クラスに、DLLインターフェイスとならないクラスを利用した際に表示されるコンパイラ警告です。 この警告は、静的データの破損などのリスクを回避するための注意喚起であり、すべての静的データへ
続きを読む »C言語の警告C4276は、関数のプロトタイプが明示されていない場合に表示されます。 たとえば、関数呼び出し規約に合わせた名前のデコレーションが正しく行えず、引数がないと仮定されてしまう問題を防ぐため、必ずプロトタイプをしっかり記述することが
続きを読む »c言語で発生する警告C4278は、型ライブラリの識別子が既にマクロとして定義されている場合に、#importディレクティブ利用時などに表示されることがあります。 名前の衝突を避けるため、適切な修飾子(例:tlb修飾子)やrename属性を使
続きを読む »C4280は、MicrosoftのC言語コンパイラで発生する警告で、構造体のoperator ->が自己再帰的に呼ばれる実装になっている場合に表示されます。 具体的には、意図しない再帰呼び出しが起こることで警告が出るため、実装の見直し
続きを読む »C4281は、クラスや構造体で定義されたoperator->が再帰的に呼び出される場合に表示される警告です。 たとえば、あるクラスのoperator->が別のクラスのoperator->を呼び、その先で再び最初のopera
続きを読む »C言語で発生するC4202警告は、Microsoftコンパイラが旧形式の関数定義や可変個数引数といった非標準拡張機能を使用した際に出ます。 /ZaオプションでANSI準拠チェックを有効にすると、名前リスト内のプロトタイプ引数の不正が指摘され
続きを読む »