2016-08-03 18 views
-2

Visual StudioからGCC makefileプロジェクトビルドがあります。私は以前にvisual studio not interpreting GCC errors and warnings hereの問題について投稿しました。「配列インデックスが範囲外です」というVisual Studioのエラー

GCCに-Werrorフラグを追加して、私たちのコードに警告が導入されていないことを確認します。残念なことに、いくつかの未解決の警告が残っているため、ビルドに失敗します。一つの例は以下の通りであるGCCで

我々は次を得る:

error: array subscript is above array bounds

このため、最後にVisual Studioで構築されたときに我々はこれを取得:

に示し
1> stl_vector.h: In constructor 'RobotController()': 
1> stl_vector.h(1043,1) : error: array subscript is above array bounds 
1> stl_vector.h: In constructor 'RobotController()': 
... 
1> make[1]: *** [exe/obj/controller.o] Error 1 
1> make: *** [compilation] Error 2 
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== 

ビルドが成功したすべてのビルドイベントをポストします。

私はこれを変換することができる "配列のインデックスが範囲外"の対応するVisual Studioの警告またはエラーはありますか?

目的は、ユーザーにとって意味のあるエラーを報告することです。 注:警告自体はここでは問題ではなく、別個に固定されます。このタイプのエラーを正しく、ビジュアルスタジオが理解できる方法で報告したいだけです。

+3

[mcve]を投稿できますか? – juanchopanza

+2

投稿されたコードは間違いありません。そのコード自体は作成しないでください。私は警告を出す何かからの干渉があると思います。私はこれを知っています。なぜなら、このコードには配列の添え字が含まれていないからです。 –

+0

RobotController()コンストラクタを投稿できますか? – ZDF

答えて

1

https://msdn.microsoft.com/en-us/library/ms182089.aspx

warning C6386: buffer overrun: accessing <buffer name> , the writable size is <size1> bytes, but <size2> bytes may be written: Lines: x, y

これが唯一の静的コード解析ツールを有効にすることによってキャッチされることに注意してください。

関連する問題