我有一個方法名稱open_file
聲明如下。如何分配ifstream和從方法返回變量?
ifstream& open_file(ifstream &in, const string &filename)
{
in.close();
in.clear();
in.open(filename.c_str());
return in;
}
欲其返回值分配給變量在main()方法:
int main()
{
ifstream val1;
ifstream val2 = open_file(val1, "test.cpp");
return 0;
}
我不能編譯代碼。我的問題是:
- 我可以將open_file方法的返回值分配給main()中的變量,如果有,該怎麼做?
- 如果我不能將返回值從open_file方法賦值給變量,如果將其返回類型更改爲void,有什麼區別?
實際上你想要做什麼?我看到,你通過引用傳遞'val1',他們返回並嘗試將其分配給'val2' ..?另外,什麼是錯誤描述? –
反正參考參數爲什麼返回參考呢?如果這是一個可以輕鬆鏈接的運營商,我可以看到它。否則,函數內的in參數的任何突變都可以在外面觀察到。 –
我嘗試通過引用將val1返回到val2。我來自C#背景,需要了解C++複製如何工作。 – Anonymous