Консультация № 72945
28.01.2007, 00:56
0.00 руб.
0 4 4
Скажите как связаь два модуля,например,01.cpp и 02.cpp.
Если писать в первом #include "02.h" ,а во втором #include "01.h"
то компилятор выдаЁт ошибку fatal error C1014: too many include files : depth = 1024
Подскажите как быть?


Приложение:
Microsoft Visual studio .NET 2003

Обсуждение

Неизвестный
28.01.2007, 01:35
общий
это ответ
Здравствуйте, Hunter20!

Все зависит от того, для чего тебе их связывать.
В общем случае два файла связывают для того чтобы использовать какие либо функции или классы из другого. В таком случае поступают так - создают заголовочный файл(с расширением .h) и в него помещают объявление(именно объявление, а не определение) функций и классов. для удобства этот файл называют так же как и соответсвующий срр файл, наприме для 01.срр будет 01.h.
Неизвестный
28.01.2007, 01:36
общий
это ответ
Здравствуйте, Hunter20!

Я так понимаю, Вы пишите программу с нуля, то есть не пользуетесь шаблонами студии, в том числе и заголовки. Возможно заголовки вызывают друг друга циклически до достижения придела. Используйте команды препроцессора для гарантированного вызова каждого заголовка только единожды. См. приложение.

Желаю удачи;)

Приложение:
// Файл заголовка#ifndef MYHERDER // MYHERDER - в данном случае любая //уникальная константа для каждого заголовка#define MYHERDER...... //Здесь текст файла заголовка#endif
Неизвестный
28.01.2007, 02:00
общий
это ответ
Здравствуйте, Hunter20!
В 2003-й студии можно в начале каждого (особенно срр-файлов) файла писать
#pragma once
Это исключает множественное включение файлов
Неизвестный
28.01.2007, 11:05
общий
это ответ
Здравствуйте, Hunter20!
Хотя бы в приложении привел приблизительный текст
проги! Без текста можно сказать только в общих чертах.
Скорее всего в *.h файлах содержатся инклуды файлов, которые
содержат инклуды самих этих *.h файлов.
Удачи!
Форма ответа