LINUX.ORG.RU

Распечатка хидеров.Страуструп.


0

0

Читаю Страуструпа,в одном упражнении он предлагает открыть файл вычитать название include-файлов,открыть их и т.д.(и по ходу распечатывать)
Мне знакомы простейшие средства С++ , классы разумеется вообще не затрагивались.

Я написал всё в две функции.

Первая получает имя файла для открытия (первый раз argv[1])
открывает его и передает ifsteram& в другую функцию,которая читает файл , вычитывает название из include и передаёт это имя в первую функцию , которая опять вызывает вторую и т.д ...

Ну вообщем получается замкнутый круг , программа распечатывает без остановки имена файлов.

Помогите разработать правильный интерфейс программы(как лучше решить задачу)
Заранее спасибо.



★★★

Насколько я понимаю, зацикливаться ничего не должно. Если зацикливается, то ошибка либо в реализации, либо в тех самих хедерах. Нужно следить за тем, чтобы хедеры сами себя не включали. file1.h->file2.h->file3.h->file1.h - вот и проблема.

devinull ★★
()
Ответ на: комментарий от devinull

> зацикливаться ничего не должно

Должно. Совершенно нормальный для Цэ подход -- обрамляем кажный хедер ifdefами и плюём на зацикливание. Так что зацикливание надо отслеживать отдельно...

С уважением -- Смоляное Чучелко

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.