当我尝试执行以下操作时,标题中出现错误。
class Test
{
private:
std::ifstream File;
public:
Test();
};
测试::测试() {}
我知道堆栈上有很多关于这个问题的线程。我知道我可以通过简单的方式解决我的问题
std::ifstream *File;
我发布这个问题的原因是因为我的导师告诉我,我应该能够在不修改我发布的第一个代码块的情况下做到这一点。我已经对此进行了研究,但没有发现任何可以证明我可以做到的事情。有什么想法吗?
根据要求。
class Test
{
private:
std::ifstream File;
public:
Test();
};
Test::Test() {}
int main()
{
Test test = Test();
return 0;
}
这是我无法编译的示例。
最佳答案
线
Test test = Test();
是一个问题,因为 std::ifstream
没有复制构造函数或复制赋值运算符。使用:
Test test;
如果您有 C++11 编译器,您还可以使用:
Test test{};
关于c++ - 关于ifstream : error ‘std::ios_base::ios_base(const std::ios_base&)’ is private,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140401/