Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Банальный вопрос по заголовкам

50K
22 июля 2009 года
dimson
5 / / 22.07.2009
всем привет!
допустим есть заголовок "bounding.h" также есть его "bounding.cpp"
еще есть "stdafx.h",
в "stdafx.h" прописываю "bounding.h",
в "bounding.cpp" включаю "stdafx.h",
и как говорится получи фашист гранату - в "bounding.cpp" оказывается уже все алреади в теле класса (а класс у меня прописан в "bounding.h"),
пробовал через #ifndef теже я..ца вид сбоку, поведуйте пожалуста общие правила по работе с заголовками
288
22 июля 2009 года
nikitozz
1.2K / / 09.03.2007
Советую попонятней задать вопрос. Или привести кусок исходного кода. Судя по описанию должно работать.
50K
22 июля 2009 года
dimson
5 / / 22.07.2009
попонятней:
создаю хидер "bounding.h", в нем описываю класс,обьявляю прототипы функций этого класса в это же "bounding.h", создаю "bounding.срр" там работаю с этими функциями, еще имеется файл "stdafx.h" где подключаю различные заголовки,
вот в "stdafx.h" я пишу #include "bounding.h", а в "bounding.срр" #include "stdafx.h",
чтоб до "bounding.срр" доперло где искать класс к которому принадлежат эти функции(которые написаны в "bounding.срр"),так вот внимание вопрос:
почему компилятор выдает сообщение (дословно) - функция уже прочитана в теле класса. Просто решил уже так в "bounding.h" запихал функции, а "bounding.срр" отправил курить бамбук. щаз опять замостырю ошибку и выложу куски кода
50K
22 июля 2009 года
dimson
5 / / 22.07.2009
 
Код:
error C2084: function 'bool BoundBox::CollisionBox(BoundBox)' already has a body

--это ошибка, всего их 4, ровно как и кол-во функций:),
14K
22 июля 2009 года
artem_kvadro
63 / / 30.07.2007
[QUOTE="dimson"]вот в "stdafx.h" я пишу #include "bounding.h", а в "bounding.срр" #include "stdafx.h",
чтоб до "bounding.срр" доперло где искать класс к которому принадлежат эти функции(которые написаны в "bounding.срр")[/QUOTE]

Чтоб до "bounding.срр" доперло где искать класс, в него нужно включить "bounding.h", ведь он же там и находится. А в "stdafx.h" нужно включать только хедеры, которые редко изменяются или не изменяются вообще, например, из STL.
И в начале хедеров пиши #pragma once.
50K
22 июля 2009 года
dimson
5 / / 22.07.2009
а я думал что stdafx.h нечто вроде постоянного хранилища всех хидеров
чтоб не искать допустимопределенный хидер, и как бы у всех срр студия просит подключения stdafx.h, нет ну в настройках моно отключить хотя както помню отключал но неудачно, или ето как обычно микрософт сначало сделали а потом думают зачем.
поповоду #pragma once я через #ifndef #endif делаю, или...
50K
22 июля 2009 года
dimson
5 / / 22.07.2009
блиииин, зак...ся я чето наф....г,....
убрал из stdafx подключил прям в главном (ну там где надо), одолел он на...теперь ошибки посыпались,вабсче шквал, редефинитион этот класс, с функциями таже байда,
дайте совет, может кто поначалу тоже проблемничал с етими подключениями заголовков
288
22 июля 2009 года
nikitozz
1.2K / / 09.03.2007
А при компиляции какого файла возникает ошибка? Судя по приведенным кодам ошибки вроде не должно быть.
В принципе с заголовками не должно быть ничего сложно, если точно понимать, что все, что делает директива #iinclude - это включение содержимого одного файла в другой.
353
23 июля 2009 года
Nixus
840 / / 04.01.2007
Автор, ты нигде в заголовках bounding.cpp не инклюдишь?
398
24 июля 2009 года
Alexandoros
630 / / 21.10.2005
1)Всунуть в начало *.h
#pragma once

2)Зделать ребилд.
288
25 июля 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: Alexandoros
1)Всунуть в начало *.h
#pragma once

2)Зделать ребилд.



А чем разница между

 
Код:
#ifndef
#define
..........
#endif

что уже реализовано?
7.0K
28 июля 2009 года
Rusd
88 / / 26.08.2006
В приложенных файлах bounding.h и bounding.cpp разные описания:
 
Код:
class BoundBox
{
.....
bool CollisionBox(BoundBox *BB);
.....
};


 
Код:
bool BoundBox::CollisionBox(BoundBox BB)


Исправьте, для начала, это, а потом скажите, что ответил вам компилятор.
398
29 июля 2009 года
Alexandoros
630 / / 21.10.2005
Цитата: nikitozz
А чем разница между
 
Код:
#ifndef
#define
..........
#endif

что уже реализовано?



А хз как оно там реализовано. Может там еще какой .н есть.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог