問題タブ [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.

0 投票する
4 に答える
718 参照

c++ - IBM XL C / C ++コンパイラからのこの警告はなぜですか?

問題を説明する最小限のコード例を次に示します。

これにより、同じエラーが発生します。

AIX下のIBMXLC / C ++ 8.0コンパイラーは、以下の警告を出します。

また、「-Wall」と「-pedantic」を使用してg ++ 4.1.2を試しましたが、診断が得られませんでした。ここでコピーコンストラクタへのアクセスが必要なのはなぜですか?オブジェクトをコピー可能にする(これは私の制御の範囲外です)か、渡すための明示的なコピーを作成する(実際のオブジェクトのコピーに費用がかかる場合)以外に、警告を取り除くにはどうすればよいですか?

0 投票する
3 に答える
611 参照

xcode - 不要(?)Xcode警告

Core 2 Duo の OS X 10.6 で Xcode を実行しています。短いプログラムは次のとおりです。

これをコマンド ライン (gcc -pedantic) からコンパイルすると、エラーや警告は表示されません。これを Xcode でデバッグ構成でコンパイルすると、エラーや警告は表示されません。これを Xcode のリリース構成でコンパイルすると、「暗黙の定数変換でオーバーフローが発生しました」という警告が表示されます。

long は 64 ビットである必要があります。そして、プログラムは正常に実行されます。では、何が起こっているのでしょうか? また、この警告を取り除くにはどうすればよいでしょうか?

0 投票する
2 に答える
4803 参照

c - GCC からの -Wconversion 警告に対処するには?

GCC の -Wconversion 警告フラグを使用してプロジェクトをビルドしています。(gcc (Debian 4.3.2-1.1) 4.3.2) 64 ビット GNU/Linux OS/ハードウェア上。型を混在させたり、どの型を使用する必要があるかについて明確性を失った場所を特定するのに役立つと思います。

警告をアクティブにする他のほとんどの状況ではあまり役に立ちません。これらにどのように対処するつもりなのかを尋ねています。

上記のテスト (ケースaおよびc) の予想外の結果のため、これらの違いについても説明を求めています。

編集:そして(char)、警告を防ぐためにこれらすべてをキャストするのは過剰なエンジニアリングですか?

Edit2:いくつかの追加のケース(上記のケースに続く):

それとは別に、私が求めているのは主観的なものであり、一部の開発者がすべての警告を削除することを提唱していると考えると、このような場合に他の人が変換警告にどのように対処するかを聞きたい.

やえ:

考えられる解決策の 1 つは、ints の代わりにchars を使用することですよね?実際には、次のコードで示されているように、より多くのメモリが必要になるだけでなく、速度も遅くなります。数式は、 でビルドしたときに警告を表示するためだけに存在します-Wconversionchar変数を使用するバージョンは、変換のために s を使用するバージョンよりも遅く実行されると想定しましたintが、私の (64 ビット デュアル コア II) システムでは、intバージョンの方が遅くなります。

gcc に渡し-DUSE_INTて、上記のスニペットの int バージョンをビルドします。

0 投票する
3 に答える
4094 参照

ocaml - オプションの引数は消去できませんか?

の末尾再帰バージョンが欲しかったList.mapので、自分で作成しました。ここにあります:

この関数をコンパイルするたびに、次のようになります。

チュートリアルによると、これは、オプション以外の引数を使用せずに関数を作成しようとしていることを意味します。しかし、上記の関数は明らかにオプションではない引数を取ります。

私はおそらく本当にばかげたことをしているだけですが、何ですか?

0 投票する
11 に答える
37282 参照

java - カスタムJavaコンパイラの警告メッセージを意図的に発生させる方法は?

外部リソースが修正されるのを待つ間、ブロッキングの問題を回避するために、醜い一時的なハックをコミットしようとしています。大きな恐ろしいコメントとたくさんのFIXMEでマークすることは別として、私はコンパイラーにリマインダーとして明白な警告メッセージをスローさせたいので、これを取り除くことを忘れないでください。たとえば、次のようになります。

選択したメッセージで意図的なコンパイラ警告を発生させる方法はありますか?それができない場合、既存の警告をスローするためにコードに追加する最も簡単なことは何ですか?おそらく、問題のある行に文字列内のメッセージがあり、警告メッセージに出力されますか?

編集:非推奨のタグは私のために何もしていないようです:

Eclipseまたはsunjavac1.6(antスクリプトから実行)でコンパイラーまたはランタイム・エラーは発生せず、関数を確実に実行しています。

0 投票する
4 に答える
257 参照

visual-studio - Visual Studio:プライベートメンバーまたは内部メンバーに参照がない場合に警告します

Visual Studioに、プライベートメンバーがクラス内に参照を持っていないことを警告する方法はありますか?パッケージ/モジュール内に参照がない内部メンバーはどうですか?

コードをリファクタリングしているので、[右クリック]->コードベース内の各メンバーのすべての参照を検索して、すべての問題を確実に削除したくありません。より良い方法が必要です...

0 投票する
1 に答える
1314 参照

c++ - gcc 4.1.2 を使用してコードブロックの警告を抑制していますか?

Boost ライブラリを使用するコードのセクションがあり、これらのタイプの警告メッセージが多数表示されます。

g++ 4.1.2 を使用して、このコードブロックの警告を一時的に無効にし、その後再度有効にする方法を教えてください。

私が試したことはすべて (pragma gcc diagnostic など)、g++ の新しいバージョンでのみサポートされているようです。

これらの警告だけを抑制するにはどうすればよいですか?

0 投票する
6 に答える
32016 参照

c - gcc が「関数 'round' の暗黙の宣言」を報告するのはなぜですか?

私は次のCコードを持っています:

これをコンパイルすると、次の警告が表示されます。

私は C に慣れていませんが、#include によって round() の宣言がスコープに含まれていると思いました。私は ANSI 標準 (C99 は私が持っている唯一のコピーです) をチェックしました。これは、math.h ヘッダーに round() 関数が存在することを確認しています。ここで何が欠けていますか?

編集:コンパイラは、Ubuntu(intrepid、IIRC)のGCC 4.3.2です。gcc -E を実行すると、次のようになります。

したがって、定義は明らかにヘッダーにありません。

0 投票する
1 に答える
4473 参照

iphone - iPhone SDK の警告: クラス MyAppViewController は 'UITabbarDelegate' プロトコルを実装していません

IBを使用せずにiPhoneアプリで作業し、ビューベースのアプリケーションでUIViewControllerに3つのアイテムを持つUITabbarをプログラムで作成しました.1つのデリゲートメソッドを使用しました. 私はタブバービューコントローラーを持っていません。

この警告を取り除くことは可能ですか? 私は Cocoa プログラマーではありません。時々 iPhone で作業する必要があります。