Das Problem bereits bei der Überprüfung ein letztes Mal vor der Veröffentlichung gelöst, aber es sah etwas böse Debug (zumindest für einen Neuling), also werde ich posten es sowieso - zögern Sie nicht zu löschen.std :: ofstream nicht in der Lage zu schreiben std :: string in Datei
Das Problem war, dass in der markierten Zeile von Offstream schien nicht in der Lage, eine einfache Zeichenfolge zu schreiben; das Templat schien das Problem zu sein:
template <typename T>
void appendVectorToCSV(const std::string& header, std::vector<T> row,
const std::string& outfilename){
std::ofstream fout(outfilename);
fout << header;// << ","; /* The error line 80 */
...
Dies gibt den Fehler:
varUtils.hpp: In function ‘void appendVectorToCSV(std::string&, const std::vector<_RealType>&, const string&)’:
varUtils.hpp:80:10: error: no match for ‘operator<<’ (operand types are ‘std::ofstream {aka std::basic_ofstream<char>}’ and ‘std::string {aka std::basic_string<char>}’)
fout << header;// << ",";
^
varUtils.hpp:80:10: note: candidates are:
...
/usr/include/c++/4.8/complex:524:5: note: template<class _Tp, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::complex<_Tp>&)
operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
^
/usr/include/c++/4.8/complex:524:5: note: template argument deduction/substitution failed:
...
varUtils.hpp:80:13: note: ‘std::ofstream {aka std::basic_ofstream<char>}’ is not derived from ‘std::basic_ostream<_CharT, _Traits>’
fout << header;// << ",";
^
Sie sollten Ihre Frage eine Frage lassen und es dann selbst beantworten. – melpomene
Fertig. Richtig, das ist leichter zu lesen. – dasWesen