gpt4 book ai didi

c++ - 如何在用户自定义类中使用 `ifstream` 对象?

转载 作者:行者123 更新时间:2023-11-30 02:43:34 26 4
gpt4 key购买 nike

我是 C++ 新手,在创建程序时使用 ifstream 时遇到问题。我在 main.cpp 中定义了一个 infstream 对象,如下所示:

void main() {
string filename;
ifstream inStream;
cout << "Enter name of vector/matrix file (test.txt): ";
cin >> filename;
inStream.open(filename.c_str());
if (!inStream) {
cout << "Couldn't open inStream";
exit(1);
}

Vector v1(4);
v1.read(inStream);
}

我的问题来了,如何在 Vector 类中定义 read() 函数以便使用 inStream 对象?

  class Vector{
private:
int length;
double * contents;
public:
void read(ifstream in);
}

我尝试将其定义为Vector::read(ifstream inStream) 但失败了! enter image description here ,任何人都可以给我一个提示吗?非常感谢!

最佳答案

void read(ifstream in);

应该是

void read(ifstream& in);

因为 std::ifstream不可复制的。您需要通过引用传递它。

关于c++ - 如何在用户自定义类中使用 `ifstream` 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com