2

我需要像这样的类中的矢量成员:

class A
{
private:
vector<ifstream> _files;
public:
bool addFile(const string& filePath);
};

bool A::addFile(const string& filePath)
{
ifstream ifile(filePath.c_str());
_files.push_back(ifile);//but errors;
}

我怎样才能成功编译完成这门课;

现在我的解决方案是使用矢量。那样行吗?还是一些潜在的危险?

4

1 回答 1

2

STL 容器需要元素是CopyConstructibleAssignablestd::ifstream不可复制。您需要使用智能指针来std::ifstream代替。

于 2013-07-24T09:25:02.837 回答