|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.07.2012, 07:46 | #1 |
Пользователь
Регистрация: 04.11.2011
Сообщений: 45
|
Деление кода на .h .cpp
Подскажите пожалуйста как правильно поделить код! Обязательно чтобы были заголовочные файлы и файлы .cpp
main.cpp [CPP]# include <iostream> using namespace std; # include <conio.h> # include "queue.h" int main(void) { show(5); getch(); return 0; } [/CPP] queue.cpp [CPP] # include <iostream> using namespace std; void show(int n) { cout<<n; } # include "queue.h" [/CPP] queue.h [CPP]void show(int); [/CPP] Выдаёт ошибку: In function `main': [Linker error] undefined reference to `show(int)' ld returned 1 exit status |
30.07.2012, 08:15 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
вы чем компилите? у вас оба cpp должны компилиться и оба линковаться. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
30.07.2012, 08:21 | #3 |
Пользователь
Регистрация: 04.11.2011
Сообщений: 45
|
Работаю в Dev-C++
Просто вроде всё правильно, хотел потренироваться попрогать, а на таком запоролся[CPP]# include <iostream> # include "queue.h" int main(void) { show(5); return 0; }[/CPP] queue.h: [CPP]#ifndef QUEUE_H #define QUEUE_H void show(int); #endif[/CPP] queue.cpp: [CPP]# include <iostream> #include "queue.h" using namespace std; void show(int n) { cout<<n; }[/CPP][/QUOTE] Не работает тоже почему-то пишет: In function `main': [Linker error] undefined reference to `show(int)' ld returned 1 exit status |
30.07.2012, 08:23 | #4 |
Пользователь
Регистрация: 04.11.2011
Сообщений: 45
|
http://dvo.sut.ru/libr/cvti/i618buz/15.htm - Сделал как в статье - не пашет, мб что-то у меня с компилятором не так?
|
30.07.2012, 09:55 | #5 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
[Linker error] undefined reference to `show(int)'
Отсутствует туловище функции. Прототип объявлен, а туловища нету. Похоже, что твой богомерзкий Dev, не слинковал файл queue.cpp с проектом. В студии это делается элементарно - добавляется cpp файл в солюшен проекта, и он уже автоматически и компилируется, и линкуется. С Dev особо не работал, возможно там аналогично нужно делать. Не достаточно просто создать файл cpp, нужно ещё указать компилятору, что файл должен войти в компиляцию и линковку. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
CUDA в *.cpp | devozh | Visual C++ | 1 | 07.04.2012 14:54 |
Исправить ошибку CPP | VKorablev | Помощь студентам | 0 | 20.12.2011 21:42 |
*.cpp и *.h | mrandrey | Общие вопросы C/C++ | 7 | 24.08.2009 16:14 |
Компилим CPP | SunKnight | Общие вопросы C/C++ | 2 | 22.01.2008 18:16 |