Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
koldun
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 478
1

Запутался с объявлением функции

22.06.2012, 18:24. Просмотров 732. Ответов 7
Метки нет (Все метки)

Хочу записать функцию как часть формы.
с простыми функциями проблем никаких:
C++
1
2
3
void MyFunc(void){
//
}
обьявив ее в *.h файле как
C++
1
void MyFunc(void);
я могу спокойно записывать ее в *.cpp файле как
C++
1
2
3
void TForm1::MyFunc(void){
//
}
и все прекрасно работает.

но когда мне нужно в функцию передавать параметр, вот тут начинаются ошибки

обьявив ее в *.h файле как
C++
1
void MyFunc(int, int, int);
и записав тело функции в *.cpp файле как
C++
1
2
3
void TForm1::MyFunc(int raz, int dva, int tri){
//
}
я получаю ошибку
[ILINK32 Error] Error: Unresolved external 'TForm1::MyFunc(System::int<0>, System::int<0>, System::int<0>)' referenced from D:\PROGEKTS\DEBUG\UNIT1.OBJ
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2012, 18:24
Ответы с готовыми решениями:

Кто может подсказать с объявлением wParam?
Кто может помочь с объявлением wParam в WM_SYSCOMMAND? Код...

Пр0блема с объявлением функции. Наверное
День всем добрый! Я тут столкнулся с проблемой. Почему ЭТО: pixel = GetPixel( hdc, x,...

Проблемы с объявлением функции-члена класса
Доброго времени суток. Пишу программу, реализующую простые матричные операции (сложение, вычитание...

Ошибка с объявлением
Попробовал выполнить этот урок у себя на компьютере. Получил такое. Чего можно починить, чтобы...

Проблема с объявлением переменной
есть код. отрывки кода с процедурами unit Ocenka; interface uses Windows, Messages,...

7
nick42
Практикантроп
4509 / 2468 / 450
Регистрация: 23.09.2011
Сообщений: 5,305
22.06.2012, 18:27 2
вот эти "раз два три" и в хэдэре нужны..
0
koldun
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 478
22.06.2012, 18:38  [ТС] 3
пробовал ошибка та же, никаких измнений.

Добавлено через 38 секунд
плохо что ошибка не указывает никуда, она кагбе общая, неизвестно в каком месте программы накосячил...

Добавлено через 9 минут
если в *.cpp файле записать как
C++
1
2
3
void TForm1::MyFunc( raz, dva, tri){
//
}

то этой ошибки больше нету, но появляется вот этот
[BCC32 Warning] Unit1.cpp(964): W8054 Style of function definition is now obsolete

и функция как бы знает что есть такие переменные как raz, dva, tri, но не знает их тип, тоесть с ними нельзя работать.
0
LK
Заблокирован
22.06.2012, 18:42 4
вам умные люди сказали, как надо, зачем выделываться ?
0
koldun
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 478
22.06.2012, 18:53  [ТС] 5
Я видел, спасибо, после чего проверил и написал что как было так и осталось.
0
Avazart
Эксперт С++
8102 / 5879 / 580
Регистрация: 10.12.2010
Сообщений: 27,134
Записей в блоге: 19
22.06.2012, 19:34 6
Это уже не ф-ция это метод формы

Добавлено через 3 минуты
В хедере(.h) в разделе public:
C++
1
void MyFunc(int raz, int dva, int tri);
В cpp -файле формы
C++
1
2
3
4
void TForm1::MyFunc(int raz, int dva, int tri)
{
// делаем что-то
}
0
koldun
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 478
25.06.2012, 19:08  [ТС] 7
я как обычно недосмотрел. спасибо всем участникам дискуссии.

ошибка была в том что я в *.h файле записал ее как

C++
1
void MyFunc(int raz, int dva, int tri);
а тело функции в *.cpp файле записал так
C++
1
2
3
void __fastcall TForm1::MyFunc(int raz, int dva, int tri){
//
}
0
T2skler
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 231
26.06.2012, 02:30 8
Цитата Сообщение от koldun Посмотреть сообщение
я как обычно недосмотрел. спасибо всем участникам дискуссии.

ошибка была в том что я в *.h файле записал ее как

C++
1
void MyFunc(int raz, int dva, int tri);
а тело функции в *.cpp файле записал так
C++
1
2
3
void __fastcall TForm1::MyFunc(int raz, int dva, int tri){
//
}
Кстати описание может быть неполным. Например, такой вариант тоже будет работать:
C++
1
void MyFunc(int, int, int);
0
26.06.2012, 02:30
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2012, 02:30

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проблема с объявлением в адвордсе
В адвордсе создал кампанию, активировал купон, добавил объявление и оно у меня уже двое суток в...

Загвоздка с объявлением переменной
Всем доброго времени суток. Недавно начал изучать С++ по Дейтелу. Есть такой пример программы,...

ошибка с объявлением session-start
Не могу понять, каким образом правильно начать сессию всмысле (session-start) denwer выдает ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.