2013-07-18 3 views
0

Я пытаюсь сделать следующее:C++ 11: Попытка создать вектор fstreams

std::vector<std::fstream> filelist; 

while(condition) { 
    fstream f(filename); 
    // Do some stuff with f 
    f.seekg(0, std::ios_base::beg); 
    filelist.push_back(std::move(f)); 
} 

Однако, это происходит ка-бум, когда я пытаюсь скомпилировать его. Я знаю, что потоки не должны копировать в C++ 11, но они должны быть способными двигаться, правильно? Я чувствую, что здесь кое-что отсутствует.

О, и я использую г ++ 4.8.1 с --std = C++ 11 вариант

+0

Составлено для меня под VS2012. – Borgleader

ответ

0

Эта особенность еще не доступны в GCC 4.8. Он должен компилироваться в clang и VS2012.

+0

ОК, поэтому g ++ - 4.8.1 еще не поддерживает конструкторы перемещения в потоках. Итак, я предполагаю, что вместо этого попытаюсь использовать std :: vector >. –

Смежные вопросы