|
|
|
| САБЖ и еще раз САБЖ... просто на ум приходят только переменные и константы... | |
|
|
|
|
|
|
|
для: DEM
(05.01.2007 в 17:23)
| | В .h файлах как правило хранят описание классов, в том числе и обьявление констант. Саму реализацию выносят в .cpp | |
|
|
|
|
|
|
|
для: DEM
(05.01.2007 в 17:23)
| | Например, определение класса, прототипы функций, пользовательские типы... вообще всё, что может потребоваться стороннему разработчику. Дело в том, что когда создаётся библиотека, она зачастую распространяется в бинарном виде, а заголовочный файл (.h) в текстовом - по заголовочному файлу внешний программист ориентируется, что имеется в библиотеке, какие методы содержит класс, что можно выжать из библиотеки. Заголовочный файл содержит все вспомогательные определения, включив такой файл в свою программу, разработчик может сразу использовать библиотеку.
Т.е. заголовочный файл, как правило, содержит открытый интерфейс, а cpp файл - закрытую часть, то, что должно быть инкапсулировано (скрыто от чужих глаз). | |
|
|
|
|
|
|
|
для: cheops
(05.01.2007 в 17:32)
| | Я самый-самый новичок (в смысле программирования на C++).
Учусь сейчас только на примерах. Достал вот недавно перед этим Borland C++ 4.5
И вот попалась мне одна из таких задач, демонстрирующая работу с файлами с использованием файлов *.c и *.h Расписано в книге всё чётко, с моей стороны ошибок нет (так как только копировал). И сейчас даже не втыкаю, в чём траблы. Объясните кто-нибудь, если код выложу, непонимающему начинающему? | |
|
|
|
|
|
|
|
для: nibiru20
(11.01.2007 в 07:03)
| | Вы в консоли компилируете или в интегрированной среде? Вообще консольный Borland славен тем, что сам не подцепляет заголовочные файлы - нужно хитрый makefile писать. Выложите ваш код пожалуйста (если он объёмный - прикрепите его в виде архива к форуму). | |
|
|
|
|
6.8 Кб |
|
|
для: cheops
(11.01.2007 в 14:33)
| | Только предупреждаю сразу: текста много.
Посмотрите, кому не лень. В архиве присутствуют заголовочный и прикрепляемые файлы вместе с описанием под незатейливым названием "READ ME!"
Меня интересует: это ошибки моего компилятора (не та версия, какая надо) или же это просто некие затупы как мои, так и в самом исходном коде. Спасибо. | |
|
|
|
|
|
|
|
для: nibiru20
(12.01.2007 в 15:58)
| | Заголовочный файл my.h следует включить во все с-файлы при помощи конструкции
иначе вы не сможете создать объектный код c-файлов. Компилятор в этом случае будет ругаться на то, что происходит попытка объвить несколько раз одни и те же переменные. Обойти это можно изменив файл my.h, все его содержимое следует поместить в блок
#ifndef MyH
#define MyH
Здесь содержимое файла my.h
#endif |
| |
|
|
|
|
|
|
|
для: cheops
(12.01.2007 в 22:07)
| | Или можно вместо этого блока написать:
| |
|
|
|
|
|
|
|
для: cheops
(12.01.2007 в 22:07)
| | Сделал всё как сказали.
Теперь ошибок гораздо меньше (5) - с учётом того, что их вообще не должно было быть, - следующего содержания:
Выдаю прямо как в окне Message:
Compiling TELEPHON.CPP:
Error FINDT.C 31: Unterminated string or character constant in function Find(char *)
***При нажатии View source всплывает следующая строка подключаемого файла FINDT.C:
fprintf(stderr, "%s : ошибка чтения\n'', File); //объясните, что она означает
Error FINDT.C 32: Function call missing ) in funсtion Find(char *)
***exit(1);
Error ADDT.C 30: Expression syntax in function Add(char *)
***if ((F_tel = fopen(File, "rb+")) = = NULL) //...и вот эта тоже
Error ADDT.C 31: If statement missing ) in funсtion Add(char *)
***Create();
Error ADDT.C 32: Misplaced else in function Add(char *)
***else if (fread(&Count, sizeof(Count), 1, F_tel) != 1)
Warning MY.H 14: Cannot create pre-compiled header: initialized data in header
***char Name[MAX_NAME]; | |
|
|
|
|
|
|
|
для: nibiru20
(13.01.2007 в 14:17)
| | Прикрепите ещё раз архив с тем, что сейчас имеется. | |
|
|
|
|
7.3 Кб |
|
|
для: cheops
(13.01.2007 в 15:32)
| | Что означают эти две строки?
Error FINDT.C 31: Unterminated string or character constant in function Find(char *)
Error ADDT.C 30: Expression syntax in function Add(char *)
Вот сам архив | |
|
|
|
|
|
|
|
для: nibiru20
(14.01.2007 в 18:36)
| | В первой строка закрыта, не кавычкой а двумя апострофами.
Во второй лексема == разорвана пробелом. | |
|
|
|
|
42.3 Кб |
|
|
для: Trianon
(14.01.2007 в 23:05)
| | Спасибо большое за объяснения. Исправил.
Программа компилируется, но в этот раз (не знаю, может так и должно быть) в окне всплывает лишь единственное сообщение: "Ошибочное число аргументов".
На всякий случай прикрепил архив. | |
|
|
|
|
|
|
|
для: nibiru20
(15.01.2007 в 15:53)
| | А что, по Вашему, программа должна выводить? | |
|
|
|