問題タブ [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.
c# - C# はファイルまたはアセンブリを読み込めませんでした...システムは指定されたファイルを見つけることができません
自分で作成したいくつかのカスタム ライブラリを参照するルーチンの WinForms アプリを作成します。別のライブラリに依存する特定のライブラリを構築していますが、構築すると、次の警告メッセージが表示されます。
「ファイルまたはアセンブリ 'RHLib' バージョン 1.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません」
アプリケーションの機能、エラー メッセージはありませんが、私は完全にクリーンなコンパイルが好きな人の 1 人です。つまり、エラーも警告もありません。そして、私はこれを理解できません。
問題のライブラリには「不足している」ライブラリへの参照があり、「不足している」ライブラリはコンパイルされ、VS がコンパイルを終了すると Debug ディレクトリに置かれます。 " ライブラリには依存関係がありません - 循環アセンブリの問題から抜け出すために構築された小さなライブラリです。
何か案は?
iphone - Xcode - 警告が表示されなかったのはなぜですか?
UIImagePickerControllerDelegate プロトコルを実装した、3.0 より前の今年の初めに書いたクラスがあります。その中で、3.0 SDK で廃止された imagePickerController:didFinishPickingImage:editingInfo: メソッドを実装しました。
問題は、コンパイラの警告からではなく、ドキュメントをざっと見ただけでこれに気づいたことです。他の非推奨警告 (TableViewCell.text など) が表示されましたが、これは表示されませんでした。私が見逃している他の廃止予定があるかどうか疑問に思っているので、有効にする必要がある設定または何かがありますか
objective-c - 警告:個別のObjective-Cタイプから引数を渡します
現在、OCMockをGCC4.2(元の:4.0)でコンパイルしようとしていますが、次の警告が表示され始めます。
警告:個別のObjective-Cタイプから「partialMockForObject:」の引数1を渡します
呼び出しメソッドは次のとおりです。
呼び出されるメソッドは次のとおりです。
引数の前にキャストtoidを付けると、問題が修正されます。すべてのオブジェクトはNSObjectのサブクラスであり、キャストは暗黙的になりますが(スーパークラスの置換:スーパークラスは常にその子クラスに置き換えることができます)
c++ - C++: ユーザー定義型のキャスト
組み込みと同じユーザー定義型のキャストの処理を取得するにはどうすればよいですか。たとえば、次のようになります。
ここで、独自の Int および Float クラスがあるとします。どうすれば同じエラーと警告が表示されるのでしょうか?
オーバーロードされたキャスト演算子を作成し、コンストラクターを使用することは知っていますが、暗黙的および明示的なキャストに対してこれを正しく機能させる方法がわかりません。これらのメソッド内に明示的なキャストを追加しないと、コンパイル時に警告が表示されますが、呼び出し時には警告が表示されません。追加した場合、クラスコード内でエラーは発生しませんが、それでもエラーは発生しませんどちらかを使用した場合の警告。
暗黙的にキャストしようとすると警告が生成されるように、キャスト演算子を明示的にマークする方法があると思いますが、明示的な (C スタイルまたは static_cast のいずれかの) キャストでは生成されません)。
編集:問題のすべての型が完全に既知である、このような場合には理解できると思いますが、一方または両方がテンプレートであり、どちらの型も組み込み型にマップされない場合はどうでしょうか?
Vector2 から Vector2 への暗黙的なキャストは期待どおりに機能しますが、Vector2 から Vector2 へのキャストは、明示的な C スタイルまたは static_cast が使用された場合でも、常に (2、x に 1 つ、y に 1 つ) の警告を引き起こします。明示的なキャストではなく、暗黙的なキャストの警告を保持したい。
内部で各要素の明示的なキャストを使用する特別な T vector_cast(T2) 型メソッドを作成することで、これを回避できることはわかっていますが、むしろ C-Style と static_casts を使用できるようにしたいと思います
compiler-construction - Scala:新鮮なオブジェクトを比較する
私はscalaテストを閲覧していましたが、「2つの新しいオブジェクト」を比較したときにコンパイラーが警告を生成する理由がわかりません。
これはテストの出力です:http: //lampsvn.epfl.ch/trac/scala/browser/scala/trunk/test/files/neg/checksensible.check
例:
メソッドを実装するクラスを作成すると、次の==
警告も生成されます。
編集:oxbow_lakesに感謝します、==ではなくequalsメソッドをオーバーライドする必要があります
c++ - VS2008 で boost::flyweight によって生成された C4800 警告を取り除く方法
MFC をオンにして VS2008 で以下のコードをコンパイルすると、警告が表示されます。ブーストバージョン 1.39
上記のコードの最後の行で警告が生成されます
d:\work\sourcecode\boost1390\boost\functional\hash\extensions.hpp(72): 警告 C4800::'const wchar_t *'
値を bool 'true' または 'false' に強制しています (パフォーマンス警告)
d:\work\sourcecode\boost1390\ boost\functional\hash\extensions.hpp(71) :
[
] d:\work\sourcecode\boost1390\boost\multi_index\hashedindex.hpp(1159) を使用してクラス テンプレート メンバー関数size_t boost::hash<T>::operator ()(const T &) const
をコンパイル中
: クラス テンプレートのインスタンス化への参照を参照 'boost ::hash<T>' が
[
] でコンパイルされている
T=ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t>>
T=ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t>>
この警告は、ハッシュされたファクトリ、MPL などを介して延々と続きます。
警告が表示される理由と、警告が生成されないようにコードを修正するにはどうすればよいですか?
編集:
修正するには、 hash_value の実装の下に追加します
java - 非推奨の API に関する javac 警告を抑制するにはどうすればよいですか?
コンパイルすると、javac は次のように出力します。
この警告を抑制したいと思います。-Xlint:none を試しても解決しないようです。
java - Java Class.cast() とキャスト演算子
C++ 時代に C スタイルのキャスト演算子の弊害について教わった私は、最初は Java 5 でメソッドが追加されたことを知ってうれしく思いましjava.lang.Class
たcast
。
最終的に、キャストをオブジェクト指向の方法で処理できるようになったと思いました。
結局のところ、C++Class.cast
と同じではありません。static_cast
それはもっと似ていreinterpret_cast
ます。予期されるところではコンパイル エラーを生成せず、代わりにランタイムを延期します。以下は、さまざまな動作を示す簡単なテスト ケースです。
それで、これらは私の質問です。
Class.cast()
ジェネリックランドに追放されるべきですか?そこにはかなりの数の正当な用途があります。- コンパイラ
Class.cast()
は、使用時にコンパイル エラーを生成し、コンパイル時に不正な条件を判断できるようにする必要がありますか? - Java は、C++ と同様の言語構造としてキャスト演算子を提供する必要がありますか?
visual-studio - VisualStudio2008でのカスタムコンパイラの警告
カスタムコンパイラの警告と
C#:ソースコードで特定のメソッドが使用されている場合、作成
者の管理下にあるコードを処理するため、VisualStudioでカスタム警告を作成しても効果がありません。
MessageBox.Show("blah");
ソフトウェアでサードパーティのUIコントロールスイート(DevExpress)を使用しており、誰かが代わりに使用したときに警告を生成したいXtraMessageBox.Show("blah");
それを行う方法はありますか?
c++ - 深さ3以上のネストされたベクトルに関するコンパイラの警告
深さ3のネストされたベクトルを使用するクラスメンバーを使用しようとしています。
vector <vector <vector>> classVariable_;
ただし、classVariable_.clear()のような単純なことを実行しようとすると、コード全体でコンパイラの警告が表示されます。
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_vector.h:メンバー関数内 `std :: vector <_Tp、_Alloc>&std :: vector <_Tp、_Alloc> :: operator =(const std :: vector <_Tp、_Alloc>&)[with _Tp = std :: vector>、_Alloc = std :: allocator >>]':/ usr / lib / gcc / i686-pc-cygwin /3.4.4/include/c++/bits/stl_vector.h:715:警告:'__result'はこの関数で初期化されていない状態で使用される可能性があります/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ビット/stl_uninitialized.h:82:警告:'__cur'はこの関数で初期化されていない状態で使用される可能性があります/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_uninitialized.h:82:警告:'__cur'はこの関数で初期化されていない状態で使用される可能性があります
奇妙なことに、これは深さ2のネストされたベクトルでは機能しますが、深さ3以上のベクトルでは機能しません。これは、stlライブラリにデフォルトの演算子/コンストラクターがないことと関係がありますか?
誰かがこれに関するクリーンな解決策を知っていますか?私はcygwinを使用してこれをコンパイルしていますが、これには影響がないはずです。
ありがとうございました。