Вы не можете, так как std::ifstream
удалил конструктор копии и назначение копии. Вы можете обойтись, выполняя
filestream.swap(ifstream(filename)).
. Тот факт, что он компилируется на визуальной студии, в основном потому, что он встраивается в любое перемещение или перемещение конструктора (я не очень хорошо говорю вам, что именно) , Если вы попробуете
std::ifstream myF;
filestream = myF;
, он не будет компилироваться.
Однако вы можете попытаться сделать перемещение, которое я написал, или вы можете просто вызвать .open
( http : //en.cppreference.com/w/cpp/io/basic_ifstream/open )