首頁 > 後端開發 > C#.Net教程 > c++ minicsv函式庫的編譯錯誤與解決方案

c++ minicsv函式庫的編譯錯誤與解決方案

黄舟
發布: 2016-12-14 16:54:27
原創
1388 人瀏覽過

有一個項目需要寫csv檔以呈現資料。 Github上有一個關於csv的輕量級讀寫函式庫minicsv,於是下載之。但編譯example時出現了以下問題:

In file included from example.cpp:1:0:
minicsv.hpp: In function 'csv::ofstream& operatorminicsv.hpp:326:38: error: no matching function for call to 'csv::ofstream::escape_and_output(std::basic_ostringstream::__string_type)'
ostm.escape_and_output(os_temp.str());
^
minicsv.hpp:326:38: note: candidate is:
minicsv.hpp:266:8: note: void csv::ofstream::escape_and_output(std::string&)
void escape_and_output(std::string & src)

...

  錯誤很多,不再貼出,佔用篇幅。這些錯誤都來自於同一個函數頭。這個函數頭是這樣定義的:

    void escape_and_output(std::string & src)

  而呼叫時是這個樣子:

    ostm.escape_and_output(os_temp.str());

  ost,調用時的函數頭所要求的是右頭引用時的函數所要求的是右頭。左值引用,兩者不符,於是編譯器報錯。修改很簡單,「&」改為「&」即可,也就是把函數頭改成這個樣子:
    void escape_and_output(std::string & src)
  錯誤很水,本來也不想寫出來,但是又怕對c++0x不熟悉的人會不知所措,故貼之。還有我不知道為何專案中會留下這麼個顯而易見的錯誤——或許那個老大的編譯器太聰明了吧。

 更多相關文章請追蹤PHP中文網(www.php.cn)! 


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板