下面的C++庫在VS2008VS2008 - > VS2010導致神祕的STL錯誤
http://sourceforge.net/projects/xmlrpcc4win/files/xmlrpcc4win/XmlRpcC4Win1.0.8.zip/download
成功編譯當我在VS2010中打開它,它通過轉換向導過程中沒有任何錯誤。
現在,當我試圖編譯它VS2010中,我得到這樣的一些奇怪的錯誤STL:
1>TimXmlRpc.cpp(1018): error C2039: 'back_insert_iterator' : is not a member of 'std'
1>TimXmlRpc.cpp(1018): error C2065: 'back_insert_iterator' : undeclared identifier
1>TimXmlRpc.cpp(1018): error C2275: 'XmlRpcValue::BinaryData' : illegal use of this type as an expression
1>TimXmlRpc.cpp(1018): error C2065: 'ins' : undeclared identifier
1>TimXmlRpc.cpp(1018): error C2039: 'back_inserter' : is not a member of 'std'
1>TimXmlRpc.cpp(1018): error C3861: 'back_inserter': identifier not found
1>TimXmlRpc.cpp(1019): error C2065: 'ins' : undeclared identifier
1>TimXmlRpc.cpp(1031): error C2039: 'back_insert_iterator' : is not a member of 'std'
1>TimXmlRpc.cpp(1031): error C2065: 'back_insert_iterator' : undeclared identifier
1>TimXmlRpc.cpp(1031): error C2275: 'std::vector<_Ty>' : illegal use of this type as an expression
1> with
1> [
1> _Ty=char
1> ]
1>TimXmlRpc.cpp(1031): error C2065: 'ins' : undeclared identifier
1>TimXmlRpc.cpp(1031): error C2039: 'back_inserter' : is not a member of 'std'
1>TimXmlRpc.cpp(1031): error C3861: 'back_inserter': identifier not found
1>TimXmlRpc.cpp(1032): error C2065: 'ins' : undeclared identifier
我不知道做的一些這些東西。例如, back_insert_iterator
實際上是std
的成員,但是VS似乎並不認爲它是。
如何修復這些錯誤?他們似乎沒有太大意義,所以我不知道從哪裏開始。也許它在我的項目設置中的東西?
例如,這裏是1018線,這使STD錯誤:
std::back_insert_iterator<BinaryData> ins = std::back_inserter(*(u.asBinary));
如果任何人都可以給我一些指導我將不勝感激。我對C++已經足夠新了,因此我很難搞清楚這一點。
我很高興微軟團隊正在收緊STL圖書館。我必須爲我們的產品在SDK上這樣做,並且我們必須引入許多這樣的重大更改。但這一切都是最好的。 – 2011-03-21 17:44:23