как присвоить istream ссылке?
Сформулировать вопрос лучше не смог. Поясню на примере
class A{
A(istream &in);
...
}
int main(){
istream in;
auto file = std::ifstream("test.file");
if(file) in = file;
else in = std::cin;
A a(in);
}
Данный код закономерно не работает так как конструктор копирования в issream нет. Как можно передать параметр в конструктор?
Ответы (1 шт):
Автор решения: Semenov S.A.
→ Ссылка
Разобрался, спасибо user7860670
int main(){
auto file = std::ifstream("test.file");
A a{file ? static_cast<::std::istream &>(file) : static_cast<::std::istream &>(::std::cin)};;
}