0
void DataSaver::save( const std::vector<long>& vec )
{
    using std::ios_base;
    std::ofstream file;
    file.open( "/home/david/Desktop/test", ios_base::out | ios_base::binary );
    for(int i = 0; i < vec.size(); i++)
        file << vec.at( i ) << "\00\01\10\00";
    file.close();
}

这会导致一些错误:

g++ main.cpp datasaver.cpp
datasaver.cpp:在成员函数“void DataSaver::save(const std::vector&)”中:
datasaver.cpp:11:16:错误:聚合“std::ofstream 文件”类型不完整并且无法定义
datasaver.cpp:12:41:错误:嵌套名称说明符中使用的类型“std::ios_base”
不完整 datasaver.cpp:12:57:错误:嵌套名称说明符中使用的类型“std::ios_base”不完整

我包括iostream,ofstreamvector

有人可以解释什么是错的吗?

4

1 回答 1

4

你可能需要

#include <fstream>

因为文件流实际上是在其中定义的

于 2013-10-19T18:31:41.107 回答