4

私はCode::BlocksC++の学習に使用しています。次のコードを検討してください。

C

#include <iostream>
using namespace std;

int main(int argc, char** argv)
{
    const int i = 0;
    int* j = (int*)&i;
}

上記のプログラムで使用したキャストは、C ++では非推奨になりましたが(これが正しければ)、Cでは従いました。Code:: BlocksIDEは、このコードに対する警告を表示しません。const_castC ++は、、などの明示的なキャストをサポートしていることを知っていますstatic_cast

私の質問は次のとおりです。そのような非推奨の構文に対する警告を示すインターネット上で利用可能な無料のIDEはありますか?

4

2 に答える 2

7

CodeBlocksはgccを使用してコンパイルしていると思います。コンパイラフラグを追加することで警告を有効にできます-Wold-style-cast。そのフラグをどこに置くかを理解するために、CodeBlocksをいじくり回さなければならない場合があります。を使用して、さらに多くの警告を有効にすることもできます-Wall

于 2013-01-16T11:23:08.693 に答える
6

Code::Blocksでこれらの警告を有効にすることもできます。そのためにコンパイラフラグ-Wold-style-castを追加する必要があります。これは私がCode::Blocksでそれをした方法です:

  • トップメニューのプロジェクトに移動
  • ビルドオプションを選択します
  • [コンパイラ設定]タブ(デフォルトが選択されています)
  • [その他のオプション]タブ
  • テキストフィールドに次のように入力します。-Wold-style-cast

次に、コードで次のような出力が得られます。

ここに画像の説明を入力してください

于 2013-01-16T11:44:48.843 に答える