Ошибка компиляции, связанная с infile

0

Я не уверен, что проблема в точности, но что-то, что имеет отношение к infile похоже, вызывает это? Любое обходное решение для этого? Нужно ли загружать последнюю версию mingw или что-то еще?

ifstream inFile("testdoc.txt");

std::ifstream currentDocument = infile;

c:\qt\qt5.2.1\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\ios_base.h: 786: error: 'std :: ios_base :: ios_base (const std :: ios_base &) 'является частной ios_base (const ios_base &);

  • 1
    Вы пытаетесь скопировать файл потока. Потоки не могут быть скопированы.
  • 0
    хм, я запускаю файл, который мне кто-то дал, и, видимо, он должен работать. отлично, infile был передан как ссылка в функцию, которая называется второй строкой.
Показать ещё 2 комментария
Теги:
file-io
stream

2 ответа

1
Лучший ответ

Файловые потоки не позволяют копировать. Я думаю, вы хотели использовать ссылку:

std::ifstream& currentDocument = infile;

Хотя сомнительно, почему вам нужна эта линия в первую очередь.

  • 0
    не работает Боже ты мой
  • 0
    @ OnTheFly Что не работает? Пожалуйста, дополните.
0

ПРИМЕЧАНИЕ. - Объекты Stream никогда не должны копироваться или назначаться друг другу. Есть причина, пожалуйста, прочитайте это!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню