問題タブ [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++ - 型内での列挙型の使用 - コンパイラ警告 C4482 C++
クラスの 1 つのメソッド内で列挙型の完全修飾名を使用しています。しかし、「警告 C4482: 非標準の拡張子が使用されています: enum 'Foo' が修飾名で使用されています」というコンパイラ警告が表示されます。C++ では、修飾名なしで列挙型を使用する必要がありますか? しかし、IMO、それは醜く見えます。
何かご意見は?
c# - ExtensionAttributeに関する奇妙な警告
奇妙な警告が表示されます:
事前定義されたタイプ'System.Runtime.CompilerServices.ExtensionAttribute'は、グローバルエイリアスの複数のアセンブリで定義されています。'c:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5\System.Core.dll'の定義を使用
行番号が指定されていないため、それが何であるかを理解するのは困難です。
コンパイラのエラーコードはCS1685です。
java - 特定の関数に対する Java コンパイラの警告を抑制する方法
フォールスルーを避けるために、switch ステートメントでブレークを使用するように常に教えられています。
Java コンパイラーは、些細な (しかし重大な) エラーを起こさないように、これらの状況について警告します。
ただし、ケース フォールスルーを機能として使用しました (ここで説明する必要はありませんが、非常に洗練されたソリューションを提供します)。
ただし、コンパイラは大量の警告を吐き出すため、知っておく必要のある警告がわかりにくくなる可能性があります。すべてのフォールスルー警告を無視するようにコンパイラを変更する方法は知っていますが、これをメソッドごとに実装して、フォールスルーが発生することを意図していない場所を見逃さないようにしたいと考えています。
何か案は?
c# - C# コンパイラ警告 1685
したがって、(一見) 突然、私のプロジェクトはコンパイラ警告 1685 を受け取り始めます。
定義済みの型 'System.Runtime.CompilerServices.ExtensionAttribute' は、グローバル エイリアスの複数のアセンブリで定義されています。「c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll」の定義を使用
当惑した私は、MSDN の記事を調べてその原因を突き止めました。私が見つけた情報は次のとおりです。
Visual C# リファレンス: エラーと警告コンパイラ警告 (レベル 1) CS1685
エラー メッセージ 定義済みの型 'System.type name' は、グローバル エイリアスの複数のアセンブリで定義されています。「ファイル名」の定義を使用
このエラーは、System.int32 などの定義済みのシステム型が 2 つのアセンブリで見つかった場合に発生します。これが発生する 1 つの方法は、.Net Framework バージョン 1.0 と 1.1 を並べて実行しようとするなど、2 つの異なる場所から mscorlib を参照している場合です。
コンパイラは、アセンブリの 1 つのみからの定義を使用します。コンパイラはグローバル エイリアスのみを検索し、/reference で定義されたライブラリは検索しません。/nostdlib を指定した場合、コンパイラは Object を検索し、その後、Object が見つかったファイル内の事前定義された型のすべての検索を開始します。
今、私は本当に頭を悩ませています。
私は 2 つの異なるバージョンの .NET Framework を実行していません (2.0 と 3.5 を数えない限り)。
疑わしいと思われる奇妙なアセンブリについては言及していません。
この変更に拍車をかけるような変更をアプリケーションに加えた覚えはありません。
すべてのコンポーネントが .NET Framework バージョン v2.0.50727 をターゲットにしていることを確認しました。
これを修正する方法についての提案やアイデアをお待ちしています。私は警告をエラーとして扱います。
それについて本当に私を悩ませているのは、なぜそれが起こっているのかわからないということです. 起こったことには明確な原因が必要であり、なぜそれが起こったのかを知る必要があります。説明できない場合、正確に修正することはできません。当て推量は決して満足のいくものではありません。
このアプリケーションは簡単で、クラス ライブラリと Windows フォーム アプリケーションで構成されています。
データベース アクセスをカプセル化する基本機能を提供する AC# クラス ライブラリ DLL。この DLL は、次のコンポーネントを参照します。
- システム
- System.Core
- System.Core.Data
- System.Data
- System.Data.DataSetExtensions
- System.Data.OracleClient
- System.Drawing
- System.Windows.Forms
- System.Xml
- System.Xml.Linq
UI を提供する AC# Windows フォーム アプリケーション。このアプリケーションは、次のコンポーネントを参照します。
- クリーンコード
- CleanCodeControls (これらは両方とも構文エディターのサポートを提供し、.NET 3.5 に対してローカルにビルドされます)。
- リンクブリッジ
- Roswell.Framework (上記のクラス ライブラリ)
- システム
- System.Core
- System.Data
- System.Data.DataSetExtensions
- System.Data.OracleClient
- System.Deployment
- システムデザイン
- System.Drawing
- System.Windows.Forms
- System.Xml
- System.Xml.Linq
さらに情報が必要な場合はお知らせください。喜んで提供いたします。
c# - Visual Studio の警告レベルの意味?
Web アプリケーション プロジェクトの [ビルド] タブに、「警告レベル」という設定があります。0 から 4 までの値を設定できます。これらの値は何を意味しますか? 0 の値はより厳密になり、より多くの警告を生成しますか、またはその逆ですか? まだドキュメントを見つけることができませんでしたが、おそらく間違った場所を探しているのでしょう。
c++ - 奇妙なSALアノテーション警告
プロジェクトにMicosoftのSALアノテーションを使用しようとしていますが、次の警告が表示され、理由がわかりません。
例として、新しいC ++コンソールアプリケーションを作成し、次のコードを使用します。
Visual Studio 2008を使用してコンパイルすると、次の警告が表示されます。
警告C6540:この関数で属性アノテーションを使用すると、既存の__declspecアノテーションがすべて無効になります
ファイル「c1xxast」内
私は何が間違っているのですか?_Check_return_
またはを削除する__in
と、警告が消えます。
警告C6550への参照が見つかりません。ただし、同じテキストがここにあります:http: //msdn.microsoft.com/en-us/library/dd445322.aspxですが、あまり役に立ちません。
eclipse - Eclipse の警告メッセージがすぐに消えないようにするにはどうすればよいですか?
Eclipse の小さな黄色の警告記号と下線は、あまり長くは続かないですね。
警告が表示されたとき、小さな警告記号をクリックした後、警告メッセージが消えてしまうまで数ミリ秒の猶予があります。
これを変更する方法はありますか、それとも誰もがこの問題に苦しんでいますか?
c++ - 符号付きの値が符号なし整数に割り当てられているときにコンパイラがエラーを出さないのはなぜですか? - C++
unsigned intが負の値を保持できないことはわかっています。ただし、次のコードはエラーや警告なしでコンパイルされます。
変数aを出力すると、間違った値が出力されます。署名されていない変数が署名された値を保持できない場合、コンパイラはエラー/警告を出さずにコンパイルできるのはなぜですか?
何かご意見は?
編集
コンパイラ: VC++ コンパイラ
解決
警告レベル 4 を使用する必要があります。