2012-03-12 11 views
1

次のC++コードをVS 2010でBoost 1.4でコンパイルすると、C4503警告メッセージが表示されます(「装飾された名前の長さを超えました。 9:私のパズル警告ブースターで "#pragma warning"を使用すると警告が発生する

#include <vector> 
#include <map> 

#pragma warning (push, 1) 
#include <boost/units/quantity.hpp> 
#include <boost/units/si/plane_angle.hpp> 
#pragma warning (pop) 

using namespace boost::units; 

typedef std::pair<quantity<si::plane_angle>, quantity<si::plane_angle> > Section; 

std::vector<Section> getEmptyVector() 
{ 
    std::vector<Section> sections; 
    return sections; 
} 

事は警告が、私は#pragmaディレクティブを削除ときにのみ消えるということです。これについての説明はありますか、コンパイラにバグがありますか?

+0

Boostは、異なるコンパイラに対する不要な警告を抑制しようとします。これらがたくさんある場合は、警告をトリガーする特定のコンパイラ、警告レベル、およびヘッダーをバグレポートに登録してください。 – pmr

+1

私はそれが地球温暖化とは無関係であることに気づく前に、その質問を3回読まなければならなかった。 – Ferruccio

+0

ありがとう、タイトルを変更しました。 –

答えて

関連する問題