0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
||||||
1 | ||||||
Взаимосвязанные исходные файлы08.10.2012, 17:35. Показов 2694. Ответов 29
Метки нет (Все метки)
Как сделать так чтобы в одном исходном файле я мог использовать элементы из другого и наоборот. А то я делаю змейку и у меня не получается сделать чтобы в классе Snake был указатель на Food и в Food указатель на Snake. Я понял что причина в инклуде в основном исходнике, что исходник объявленный ниже, знает про верхний, но нижний не может знать о верхней(((
0
|
08.10.2012, 17:35 | |
Ответы с готовыми решениями:
29
не понимаю как открыть исходные файлы Как включить исходные и заголовочные файлы в проект? (Dev c++) Как в IntelliJ IDEA скомпилировать исходные файлы в файлы классов Текстовые файлы. Создать новый файл, объединив исходные файлы |
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
08.10.2012, 17:38 | 2 |
может стоит подключить в Food.h Snake.h? или у вас все в срр файлах?
0
|
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
|
|||||||||||
08.10.2012, 17:40 | 3 | ||||||||||
Никто не подключает исходники друг в друга. Следует использовать заголовки. Пример:
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
||||||
08.10.2012, 17:46 | 4 | |||||
Кот Ангенс, а я бы в
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
|
08.10.2012, 18:02 [ТС] | 5 |
Как сделать тоже самое, только с классами? А то я не знаю, как делают отдельно объявление методов и их реализацию.
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|||||||||||
08.10.2012, 18:07 | 6 | ||||||||||
Ну вот пример такой
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
|
08.10.2012, 18:51 [ТС] | 7 |
Ну вот все сделал. Теперь хедеры ссылаются на друг друга, а не исходники. Только теперь ошибка другая возникла. Слишком много включаемых файлов: глубина = 1024
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
||||||
08.10.2012, 19:09 | 8 | |||||
чтобы не переподключалось у тебя столько раз в одном из хедеров сделай так
например
0
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|||||||||||
08.10.2012, 19:11 | 9 | ||||||||||
В хедеры надо добавить или это
forward declaration
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
08.10.2012, 19:21 | 10 |
да да я поправил себя ) или вы имеете ввиду , не что другое, название чего я забыл но оно точно есть)
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
||||||
08.10.2012, 19:24 [ТС] | 11 | |||||
Простите, у меня как то не получается вставлять эти строчки куда надо. 2 хедера все ровно друг друга не находят.
Можете показать куда конкретно куда?
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
||||||||||||||||
08.10.2012, 19:29 | 12 | |||||||||||||||
в Shanke.h добавь
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
|
08.10.2012, 19:35 [ТС] | 13 |
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
08.10.2012, 19:38 | 14 |
а чо пишет?
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
|
08.10.2012, 19:41 [ТС] | 15 |
В Food.h пишет
1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(18): error C2143: синтаксическая ошибка: отсутствие ";" перед "*" 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(18): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(18): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(21): error C2059: синтаксическая ошибка: * 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(14): error C2011: Food: переопределение типа "class"
0
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
||||||
08.10.2012, 19:44 | 16 | |||||
Не так.
В snake.h пишите так:
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
08.10.2012, 19:46 | 17 |
I.M., разве мой макрос рабоать не будет?
0
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
08.10.2012, 19:49 | 18 |
Nixy, будет, но раз уж учите использовать макросы для include guard, то хотя бы пишите их в нужном месте. ТС же новичек. Сейчас неверно запомнит и будет долго так писать.
Или в своих проектах вы так же все хедеры подключаете, обрамляя их дефайнами?
0
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
08.10.2012, 19:59 | 19 |
за меня RAD Studio дефайны раставила ) , я сам новичок , просто знаю что это работает
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 57
|
|
08.10.2012, 20:01 [ТС] | 20 |
С прагмой уанс почти тоже самое
1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(16): error C2143: синтаксическая ошибка: отсутствие ";" перед "*" 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(16): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(16): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\users\i.main\documents\visual studio 2010\projects\oldsnake\snake\Food.h(19): error C2059: синтаксическая ошибка: *
0
|
08.10.2012, 20:01 | |
08.10.2012, 20:01 | |
Помогаю со студенческими работами здесь
20
Объединить исходные файлы в проект и скомпилировать Исходные файлы учебного пособия по solidworks 2010 Какие исходные файлы должны быть в проекте на С#? Создать новый файл, объединив исходные текстовые файлы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |