問題タブ [compiler-warnings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-c++ - VC++ コンパイラ: 現在の警告レベルまたはオーバーライドを確認する方法は?
警告 C4244 (データ損失の可能性) が抑制されていることを発見したばかりのプロジェクトがあります。一部の厄介な MS ヘッダーがこの警告を抑制し、そのヘッダーを含むすべての翻訳単位に対して抑制されたままになっているのではないかと強く疑っていますが、無数のヘッダーのどれに問題があるかはわかりません。
したがって、他のプログラミングの問題と同様に、バイナリ検索を実行して、現在の警告レベルを出力し、可能であればメインのプリコンパイル済みヘッダーで抑制された警告を出力したいと思います。
私がどのコンパイラディレクティブを使用するか、またはその情報を得るためにどのようなアプローチを取ることができるかを知っている人はいますか?
発信者がコントラクトに違反し、署名されたバイトの代わりに整数を送信しようとしたときに、ヘッダーで慎重に構築された型宣言がコンパイラの警告を出さないことがどれほど不快であるかはわかりません (これにより、私が解決しようとしている現在のバグ)。
考え?
ノート:
ソリューション全体で #pragma を検索すると、#pragma warning(disable:xxxx) とそれに続く #pragma warning(default:xxxx) のバランスの取れた宣言のみが表示されます。そして、それらのどれも 4244 を参照していません。
ソリューション全体で 4244 を検索すると、一致が返されません (その警告をオーバーライドしたり、含まれているライブラリやサブプロジェクトなどをオーバーライドしたりすることはありません)。
MS インクルード パス全体で 4244 を検索すると、呼び出し前に設定された #define シンボルに応じて、バランスが取れているか、ほぼバランスが取れているように見えるいくつかの参照が返されます。したがって、MSに問題があるという私の疑い(MSがヘッダーでずさんな作業をしているという以前の履歴と組み合わせて)。
visual-studio-2005 - 奇妙な「警告C4127:条件式は定数です」VS2005
レベル 4 の警告でLightZPngをコンパイルしようとしています。この警告に値しないことが明らかな行で、多くの C4127 が表示されます。例:
#pragma 以外の警告を回避するには、このコードをどのように変更できますか?
vb.net - カスタム Generic.IEqualityComparer(Of T) - コンパイラ エラー
LINQ コレクションで使用する単純な IEqulityComparer を実装しようとしています。私は次のコードを作成しましたが、これは議論のために最も単純な形式に縮小されています...
私が抱えている問題は、両方の関数がコンパイラ警告をスローすることです「関数 'getHashCode' (または 'Equals') は、基本クラス 'Object' のオーバーライド可能なメソッドをシャドウします。基本クラスのメソッドをオーバーライドするには、このメソッドを 'Overrides と宣言する必要があります。 '."
ただし、それらをオーバーライドとして宣言すると、「関数 'GetHashCode' は基本クラスの関数をオーバーライドしないため、オーバーライドとして宣言できません。」というエラーが表示されます。
また、「Implements」行で「getHashCode」を実装する必要があるというコンパイラ エラーが発生していますが、これは最初の問題の結果であると推測しています。
私のすべての調査は、私が大丈夫であることを示しています - 誰か手がかりを教えてください?
c++ - コンパイラの警告
この(C++またはおそらくC)コードがあるとします:
それが正しく行われたかどうかは気にしません。重要な部分は for ループの宣言にあります。size() は符号付きではなく符号なし int を返すため、コンパイラはこれに対して符号付き/符号なしの不一致を示します。i
unsignedに変更することの重要性 習慣からループ カウンターを int として宣言しますが、これが潜在的なエラーである場合は、習慣から抜け出すように強制します。
java - javacからさらに警告を受け取るにはどうすればよいですか?
Javaコンパイラで可能な限り最高レベルの警告を出してほしい。現在、-Xlintを使用してコンパイルしています。とにかく私がもっと警告を受け取ることはありますか?Xlintによって提供された警告はわずかなようです。
このコードを-Xlintでコンパイルしたところ、警告は表示されませんでした。
これをC++で実行し、オプション-Wfloat-equalを指定してgccを使用してコンパイルした場合、コンパイラーは警告を発行します。Javaは何の警告も出しません。私はJava6を使用しています。
gcc - GCC で特定の警告を無効にする
Microsoft コンパイラでは、他の警告を無効にすることなく、特定の警告を #pragma で無効にすることができます。これは、コンパイラが「実行する必要がある」ことについて警告する場合に非常に便利な機能です。
この時点でGCCには同様の機能がありますか? この機能がまだ搭載されていないことが想像できないほど明らかな機能のように思えますが、Web 上の古い情報によると、この機能は存在しないことが示唆されています。
GCCで使用するものは何ですか?
具体的には、'abc' のような複数文字の定数を使用するのが好きです。これらは 256 進数として効果的に評価されます。これは非常に便利な機能ですが、警告がトリガーされます。case ステートメントで 4 つの文字列を切り替える場合に非常に便利です。
visual-studio-2008 - IDisposable オブジェクトを破棄するのを忘れた場合、Visual Studio から警告を受けることはできますか?
IDisposable を実装するオブジェクトを破棄するのを忘れたときに警告を表示するように Visual Studio 2008 を構成できますか?
c# - Visual Studio で "[some event] never used" コンパイラ警告を取り除くにはどうすればよいですか?
たとえば、次のコンパイラ警告が表示されます。
イベント「Company.SomeControl.SearchClick」は使用されません。
しかし、コメントアウトすると、このイベントを使用しようとしている XAML ページに関する 20 個の新しい警告が表示されるため、使用されていることはわかっています。
何を与える?この警告を取り除くためのトリックはありますか?