2017-02-04 7 views
1

tinyXml2を使用するプロジェクトをビルドした後、次の3つのエラーが発生します。添付された画像にエラーが表示されます。問題のあるコードは、ここで、tinyXml2のxtree.csファイルで見つけることができます:私はVS2010tinyXml2がbuild-xtree.csでエラーC2675を発生する

を使用しています(そして引き続き使用する必要があります)

template<class _Iter> 
    void insert(_Iter _First, _Iter _Last) 
    { // insert [_First, _Last) one at a time 
    _DEBUG_RANGE(_First, _Last); 
    for (; _First != _Last; ++_First) 
     { // insert element as lvalue 
     const value_type& _Val = *_First; 
     insert(end(), _Val); 
     } 
    } 

tinyXml2_Errors

これらのエラーを引き起こす可能性がありますか?

1)エラーC2675:単項 '++': 'のstd :: string' は、この演算子または定義済みのオペレータ

2に許容される型への変換を定義していないが)エラーC2100:不正間接

3)エラーC2440: '初期化すると、': 'constのはstd ::ペア< _Ty1、_Ty2> &'

編集する 'のstd ::文字列' から変換することはできません。私はすべてをコメントしたエラー

答えて

0

を含まクラス(とヘッダー)、エラーが発生するまでコードを追加しました。この失敗は実際にtinyXml2に起因するものではありませんでした。文字列をマップに挿入できませんでした。

今後この問題が発生する他の人にとっては、ここではVisual Studioで赤い線がぼやけていない問題の関数があります。この問題を解決するために

map<string, string> createMap(CNintendoItem ni) 
    { 
    map<string, string> xmlNodeToValue; 

    //ItemName is a string constant. ni.Name is a string returned from a class 
    xmlNodeToValue.insert(ItemName, ni.Name);//name of the item 

    ...//several more insertions 

    return xmlNodeToValue; 
} 

一つの方法は、新しいキーに値を割り当てるには、次の方法を使用することです:

xmlNodeToValue[ItemName] = ni.Name;//name of the item 
関連する問題