メッセージ オプション
-w オプションを使って、C++ コンパイラ(BCC32.exe)のメッセージ オプションを指定することができます。
- 特定の警告メッセージを有効にするには、-w オプションと 1 ~ 3 文字のオプション コードを入力します。
- 警告メッセージを無効にするには、-w- オプションと 1 ~ 3 文字のオプション コードを入力します。
例
すべての警告メッセージおよびエラー メッセージを表示するには、BCC32 コマンドに -w コマンド オプションを指定します。
>bcc32 ... -w
警告 "異なる 'char' 型へのポインタが混在している"(オプション コード ucp、デフォルトではオフ)を表示させるには、BCC32 コマンドに次のフラグを指定します。
-wucp
警告 "宣言を無視した"(オプション コード dig、デフォルトではオン)を表示させないようにするには、BCC32 コマンドに次のフラグを指定します。
-w-dig
警告メッセージ コードについてのヘルプを表示するには、コンパイラ コマンドに -h と -w のオプションだけを付けて入力します。
C:>bcc32 -h -w C:\Program Files (x86)\Embarcadero\Studio\21.0\bin>bcc32 -h -w Embarcadero C++ 6.40 for Win32 Copyright (c) 1993-2011 Embarcadero Technologies, Inc. 使用できるオプション (* はデフォルトの設定。xxx はサブオプションで、-h -X などで表示): (メモ: -X- または -w-XXX を指定すると、通常、-X または -wXXX による設定または設定解除が取り消されます。 2 つのオプションが競合する場合は、最後に指定されたものが使用されます。) -w すべての警告を表示します -w! 警告時にコンパイラから非 0 を返す -wamb 8000 あいまいな演算子にはカッコが必要 -wamp 8001 関数に対する余分な & * -wasc 8002 アセンブラを使うためコンパイルを再起動した -wasm 8003 認識できないアセンブラ命令 * -waus 8004 '%s' に代入した値は使われていない * -wali 8086 #pragma alias "aliasName"="substituteName" の使い方が間違っています * -watr 8100 属性指令 '%s' は無視されました * -watr 8110 重複する '%s' 属性指令は無視されました * -wadt 8134 Delphi 形式のクラス '%s' の配列を割り当てられません -wbbf 8005 ビット フィールドは signed int か unsigned int でなければならない * -wbei 8006 %s を %s で初期化している * -wbig 8007 16 進値の桁数が多すぎます -wbex 8120 dllexport クラスの基底クラスも dllexport でなければなりません -wbcx 8126 エクスポートされたクラスの基底クラスにはエクスポートされたコンストラクタが必要です * -wccc 8008 条件が常に %s -wcln 8009 定数が長すぎる * -wcom 8010 継続記号 \ が // コメント内に見つかった * -wcpt 8011 移植性のないポインタ比較 * -wcsu 8012 符号付き値と符号なし値の比較 * -wcod 8093 #pragma codeseg [seg_name] ["seg_class"] [group] の使い方が間違っています * -wcni 8108 新しい式の定数には初期化子が必要 -wdef 8013 '%s' は定義の前に使用されている可能性があります * -wdig 8014 宣言を無視した * -wdpu 8015 プロトタイプで使われる前に '%s' の宣言が必要 * -wdsz 8016 'delete' に指定した配列サイズは無視される * -wdup 8017 マクロ '%s' の重複定義 -wdep 8106 %s の使用は推奨しない -wdtp 8109 パラメータ '%s' は依存型です * -wdpr 8111 非推奨のエンティティ '%s' %s にアクセスしている * -wdex 8112 式の依存関係を解決できない * -wdlx 8127 関数が宣言とは異なるリンケージで定義されました * -wdim 8128 定義中の関数はインポートできません -wdgu 8129 インターフェイス '%s' に GUID がありません * -wdiu 8130 インターフェイス '%s' が IUnknown から派生していません (インターフェイスは IUnknown から派生する必要があります)。 * -wdin 8131 Delphi 形式のクラス '%s' をインターフェイスにキャストしようとしています。代わりに 'System::int erface_cast<%s>(cls)' を使用してください * -wdns 8139 declspec '%s' のサポートが実装されていません。 * -weas 8018 列挙型 '%s' に '%s' 型が代入された * -weff 8019 コードは効果を持たない * -wext 8020 '%s' が external と static の両方で宣言されている -wexc 8101 extern C リンケージは無視されました * -weoi 8125 DLLExport が前の DLLImport をオーバーライドしています * -whch 8021 '%s' のハンドラが直前のハンドラ '%s' で隠されている * -whid 8022 '%s' が仮想関数 '%s' を隠蔽する * -wias 8023 配列変数 '%s' は near に置かれる * -wibc 8024 基底クラス '%s' は '%s' の中にもあるのでアクセスできない * -will 8025 pragma の書式が正しくない -winl 8026 %s はインライン展開されない -winl 8027 %s を含む関数はインライン展開できない * -wifr 8085 関数 '%s' が非インライン関数として再定義された -wimp 8102 '%s' から '%s' への暗黙の型変換です * -wiex 8113 インライン関数が 'extern template' で宣言されている * -winc 8115 定数式が必要です。ステートメントは無視されました * -wiip 8118 Package クラスのインライン メンバ関数 -wiac 8121 現在のテキスト ロケール %s のソース コードに無効な文字が見つかりました * -wind 8132 インターフェイス '%s' を Delphi 形式のクラスにキャストしようとしています。代わりに 'System::interface_cast<%s>(intf)' を使用してください * -witl 8136 このプラットフォームでは TLS データの初期化はサポートされていません * -wlin 8028 '%s' を初期化するために一時変数を使用する * -wlvc 8029 '%s' パラメータのために一時変数を使用する * -wlvc 8030 '%s' パラメータ ('%s') のために一時変数を使用する * -wlvc 8031 %d 番目のパラメータのために一時変数を使用する * -wlvc 8032 %d 番目のパラメータ ('%s') のために一時変数を使用する * -wmpc 8033 '%s' への変換は仮想基底クラス '%s' のメンバに対しては行えない * -wmpd 8034 メンバ ポインタ型 '%s' を最大精度にした * -wmsg 8035 %s * -wmes 8095 #pragma message( "string" ) の使い方が間違っています * -wmcs 8096 #pragma code_seg(["seg_name"[,"seg_class"]]) の使い方が間違っています * -wmcc 8098 複数文字による文字定数 * -wmls 8104 マルチスレッド アプリケーションのコンストラクタでローカル静的変数を使うことは危険 * -wmnc 8105 %s メンバ '%s' があるクラスにコンストラクタがない * -wmal 8119 アラインメントが最大 %d に縮小されました -wmtx 8122 dllexport クラス メンバ '%s' はエクスポートされた型でなければなりません -wnak 8036 ANSI にはないキーワード '%s' が使われた * -wncf 8037 const オブジェクトに対して非 const 関数 %s が呼ばれた * -wnci 8038 定数メンバ '%s' は初期化されていない * -wncl 8039 コンストラクタ初期化リストを無視した * -wnfd 8040 関数本体を無視した * -wngu 8041 符号なし値の否定の演算 * -wnin 8042 オブジェクト '%s' の初期化部分を無視した * -wnma 8043 マクロ定義を無視した * -wnmu 8044 #undef 指令は無視されました -wnod 8045 '%s' の宣言がない * -wnop 8046 #pragma option pop に対応する #pragma option push が見つからない * -wnsf 8047 静的関数 '%s(...)' 宣言を無視した * -wnst 8048 メンバ型 '%s' へのアクセスには限定名が必要 * -wntd 8049 ネストしたテンプレートでは '>>' のかわりに '> >' を使用すべき * -wnto 8050 型 OBJ ファイルが存在しない。外部型オプションは使用しない * -wnvf 8051 volatile オブジェクトに対して非 volatile 関数 %s が呼び出された * -wnpp 8083 #pragma pack pop と一致する #pragma pack push がない -wntn 8107 型名が必要です * -wnrm 8124 公開メソッド '%s' で公開できないパラメータまたは戻り値の型を参照しています * -wobi 8052 クラス名のない基底クラスの初期化は古い形式である * -wobs 8053 '%s' は古い形式である * -wofp 8054 関数定義の形式は古い形式である * -wosh 8055 シフト演算のオーバーフロー * -wovf 8056 整数の算術オーバーフロー * -wonr 8097 一部のオプションは復元できない * -wpar 8057 パラメータ '%s' は一度も使用されない * -wpch 8058 %s プリコンパイル ヘッダーを作成できない * -wpck 8059 構造体のパッキング サイズが変更された * -wpia 8060 おそらく不正な代入 -wpin 8061 初期化の一部だけにカッコがついている * -wpow 8062 オプションと警告を元に戻せない * -wpre 8063 オーバーロードされた前置演算子 'operator %s' が後置演算子として使われている * -wpro 8064 プロトタイプ宣言のない関数の呼び出し * -wpro 8065 プロトタイプ宣言のない関数 '%s' の呼び出し -wprc 8084 優先順位を明確にするためにカッコの使用を推奨 * -wpcm 8094 #pragma comment( <type> [,"string"] ) の使い方が間違っています * -wpsb 8099 静的な 'main' はエントリ ポイントとしては扱われない * -wptl 8103 パス '%s' とファイル名 '%s' が最大サイズ (%d) を超えている * -wpnf 8123 パス '%s' が見つかりません - パスはオプション '%s' では無視されます -wpun 8135 不明な #pragma '%s' は無視されました * -wpns 8138 #pragma '%s' はこのプラットフォームではサポートされていません。 * -wrch 8066 実行されないコード * -wret 8067 値を伴わない return と伴う return の両方が使われている * -wrng 8068 比較において定数が範囲外 * -wrpt 8069 移植性のないポインタ変換 * -wrvl 8070 関数は値を返すべき * -wrlo 8116 ローカル オブジェクトへのポインタを返す -wsig 8071 変換によって有効桁が失われる * -wspa 8072 問題のあるポインタ演算 -wstu 8073 未定義の構造体 '%s' -wstv 8074 構造体が値で渡されている * -wsus 8075 問題のあるポインタの変換 -wstl 8087 '%s::operator==' は '%s' に含まれていることがパブリックに可視でなければならない -wstl 8089 '%s::operator<' は '%s' に含まれていることがパブリックに可視でなければならない -wstl 8090 '%s::operator<' は '%s' に使用されていることがパブリックに可視でなければならない -wstl 8091 %s の %s 引数 ('%s' に渡される) は %s 反復子: %s 反復子が必要 -wstl 8092 %s の %s 引数 ('%s' に渡される) は反復子ではない: %s 反復子が必要 * -wsmx 8133 要求された SAVEMEM が使用可能な量 (%d) を超えています * -wtai 8076 テンプレート インスタンス '%s' は既にインスタンス化されている * -wtes 8077 明示的に特化されたクラス メンバを明示的に特化しても意味がない * -wthr 8078 throw 式が例外仕様に違反しています * -wtlb 8137 非推奨の #import 指令が検出されました。代わりに、TLIBIMP ユーティリティを使用してください。 -wucp 8079 異なる 'char' 型へのポインタが混在している -wuse 8080 宣言された '%s' は使われていない * -wucn 8114 国際文字名 '\u%04x' で表される文字は、現在の ANSI ロケール %s では表現できません * -wvoi 8081 void 関数は値を返してはならない * -wxxx 8117 NOT IN USE - DO NOT TRANSLATE * -wzdi 8082 ゼロによる除算