Как бы вы выбрали ifstream в istream. Я считаю, что если поток является дочерним элементом istream, я должен быть в состоянии сделать это, но у меня были проблемы с такой задачей.Преобразовать ifstream в istream
std::istream & inputStr = std::cin;
std::ostream & outputStr = std::cout;
if(argc == 3){
std::fstream inputFile;
inputFile.open(argv[1], std::fstream::in);
if(!inputFile){
std::cerr << "Error opening input file";
exit(1);
}
inputStr = inputFile;
.....
}
http://coding.derkeiler.com/Archive/C_CPP/comp.lang.cpp/2004-09/0856.html – DumbCoder
Действительно, вы можете напрямую назначить их, но если у вас возникли проблемы, вам должен опубликовать ваш код, чтобы мы знали, что не так. – casablanca
На самом деле вам не нужно. Вы можете просто использовать поток файлов в любом месте, где требуется istream, и компилятор выполнит автоматический выбор для вас. –