- 相關(guān)推薦
c++ minicsv庫的編譯錯誤與解決方案
C++擅長面向?qū)ο蟪绦蛟O(shè)計的同時,還可以進(jìn)行基于過程的程序設(shè)計,因而C++就適應(yīng)的問題規(guī)模而論,大小由之。下文是為大家精選的c++ minicsv庫的編譯錯誤與解決方案,歡迎大家閱讀參考。
有一個項目需要寫csv文件以呈現(xiàn)數(shù)據(jù)。Github上有一個關(guān)于csv的輕量級讀寫庫minicsv,于是下載之。但是編譯example時出現(xiàn)了以下問題:
In file included from example.cpp:1:0:
minicsv.hpp: In function 'csv::ofstream& operator<<(csv::ofstream&, const T&)':
minicsv.hpp:326:38: error: no matching function for call to 'csv::ofstream::escape_and_output(std::basic_ostringstream<char>::__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)
...
錯誤很多,不再貼出,占用篇幅。這些錯誤都來自于同一個函數(shù)頭。這個函數(shù)頭是這樣定義的:
void escape_and_output(std::string & src)
而調(diào)用時是這個樣子:
ostm.escape_and_output(os_temp.str());
很明顯,調(diào)用時的函數(shù)頭所要求的是右值引用,而真正的函數(shù)頭給出的左值引用,兩者不符,于是編譯器報錯。修改很簡單,“&”改為“&”即可,即把函數(shù)頭改成這個樣子:
void escape_and_output(std::string & src)
【c++ minicsv庫的編譯錯誤與解決方案】相關(guān)文章:
Windows更新錯誤解決方案06-25
C語言的編碼編譯12-04
如何在C語言中調(diào)用C++做的動態(tài)鏈接庫03-03
編譯chm格式PHP手冊的方法03-31
C語言條件編譯分析實例03-30
C語言編譯過程總結(jié)詳解12-04
C++類的轉(zhuǎn)換12-11
科目二倒樁移庫考試常見錯誤盤點201603-30
最新C語言編譯過程總結(jié)詳解12-11