2011-07-14 82 views
1

我正在爲我的最終項目構建一個GUI。該項目使用pugixml作爲xml解析器來讀取一些數據。一切工作在控制檯模式。在Visual C++ .NET 2010中使用pugixml

所以我開始了一個新的Windows窗體項目,並添加了我寫的所有頭文件。我設計了我的圖形用戶界面等。當我嘗試編譯一切編譯,但這:

pugixml.cpp(5627):錯誤C2440:'返回':不能從'系統::字符串^'轉換爲'常量pugi :: char_t *」 沒有用戶定義的轉換利用運營商,或 不能託管類型轉換到非託管型

這裏就是錯誤出現的代碼:

常量char_t * convert_number_to_string_special(double值) { #if defined(_MSC_VER)||定義(BORLANDC) if(_finite(value))return(value == 0)? PUGIXML_TEXT(「0」):0; if(_isnan(value))return PUGIXML_TEXT(「NaN」); 此行---->返回PUGIXML_TEXT(「 - Infinity」)+(value> 0);

我試圖改變項目的配置,但我沒有得到任何東西。

任何線索?我非常感謝!

在此先感謝!

回答

2

這是兼容性錯誤;不幸的是,pugixml 1.0沒有經過C++/CLI的全面測試(據我所知,這是C++/CLI的唯一問題,所以在解決這個問題之後,您可以安全地使用pugixml)。

您可以得到從資源庫中的最新版本(http://pugixml.googlecode.com/svn/trunk/) 或手動應用補丁:更換線

return PUGIXML_TEXT("-Infinity") + (value > 0);

return value > 0 ? PUGIXML_TEXT("Infinity") : PUGIXML_TEXT("-Infinity");

+0

完美! :) 非常感謝! – Oni

相關問題