VS 2010コンパイルwarning

4322 ワード

warning C4018: “
消去方法:
比較演算子の両側のデータは1つは符号数があり、1つは符号数がない.一般的に、ライブラリを使用するときにこのような警告が頻繁に発生します.ライブラリクラスでは、いくつかのタイプが符号なしとして定義されているため、私たち自身のデータも符号なしとして定義します.つまり、自分が定義した変数の前にunsignedを追加します.例えばint i;前にunsigend int iを付ける.
warning C 4482:非標準拡張子を使用:限定名に列挙を使用
消去方法:
例えばnamespace Self{enum E{a,b};};使用する場合はSelf::E::aではなく、Self::aと書く.すなわち、限定名に列挙された名前を削除する.
warning C 4819:このファイルには、現在のコードページ(936)に表示できない文字が含まれています.このファイルをUnicode形式で保存して、データが失われないようにしてください.
消去方法:
このwarningがあるファイルを開き、【ファイル】をクリックして【高度な保存オプション】を選択し、【コード(E):】ドロップダウンリストボックスで最初の「簡体字中国語(GB 23112-コードも936」を選択し、【OK】
(http://blog.csdn.net/enjoy517905407/article/details/37958035/)
warning C 4503:「std::vector<_ty>::erase」:修飾名の長さを超え、名前が切り捨てられます
消去方法:クラスをカプセル化する
警告が次のような場合:
c:\program files\microsoft visual studio 9.0\vc\include\vector(91) : warning C4503: 'std::vector<_ty>::erase' : decorated name length exceeded, name was truncatedwith[_Ty=std::vector<:vector>>>>>]
パッケージ:
class TwoDimensionalVectorOfComplexDouble
{
public:
	std::vector< std::vector< std::complex< double > > > vvcd;
};
     ,     :
std::vector< std::vector< std::vector< TwoDimensionalVectorOfComplexDouble > > > m_H;
    ,       。
 
   
 
   
//---------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------- 
 
   
 
   
 
   
                 ,      :(                    ,     )
 #pragma warning( disable : 4503 ) .
 #pragma warning( disable : 4482 ) .
 #pragma warning( disable : ×××× ) .
  。。。。。。

//---------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------