istream:: Страупструп не пашет!
От: ND321  
Дата: 25.06.10 17:17
Оценка:
Уважаемые Гуру!
Перечитываю Страупструпа.
Пытаюсь честно делать все примеры. Когда-то в VC6 уже их реализовывал и точно помню, что удалалось добиться работоспособности кода. Но теперь в VS2005/2008 многие вещи из стандартных библиотек, похоже, поменялись. В частности, пример:

int main(int argc, char* argv[])
         {
           switch(argc) {
             case 1:    // считывать из стандартного входного потока
                break;
             case 2:    // считывать из строки параметров
               cin = *new istream(argv[1],strlen(argv[1]));
               break;
             default:
               error("слишком много параметров");
               return 1;
          }

           // дальше прежний вариант main
       }



cin = *new istream(argv[1],strlen(argv[1]));
Вызывает ошибку: нет легального доступа к приватному оператору "="!
Начал копать, оказалось, что istream теперь лишь алиас сложного шаблонного класса basic_istream, описание которого в MSDN сильно упрощено.

Пожалуйста, помогите:
1)как нужно переделать пример Страупструпа?
2)как вообще создать свой аналог cin (ввод потока из консоли!) с помощью STL?

Заранее, спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.