powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объявление методов класса
11 сообщений из 11, страница 1 из 1
Объявление методов класса
    #39804660
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня!

Очередной раз пытаюсь написать прогу на С++, использую VS8.

Столкнулся с проблемой:
Если я объявляю функцию в файле .cpp, то я могу объявлять функции с типом данных wstring.
Если объявляю функцию в файле .h, внутри класса в разделе public, то могу объявлять функции только с типом int и char
Включение файла

#include <string>

в файл .h никого эффекта не дает

Вопрос - как объявлять функции внутри класса в файле .h с различными типами данных?
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804663
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbВопрос - как объявлять функции внутри класса в файле .h с различными типами данных?
Так же как и в .cpp

Ошибки у тебя были из-за чего-то другого.
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804670
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявление функций

Код: plaintext
1.
2.
3.
4.
5.
6.
public:
	afx_msg void OnLbnSelchangeList2();
	afx_msg void OnBnClickedButton1();
    CWnd* GetDlgItemRB(int nID);
	wstring SetCompProp(wstring pIN);
};



функция

Код: plaintext
1.
CWnd* GetDlgItemRB(int nID);



Компилируется нормально, а функция
Код: plaintext
1.
wstring SetCompProp(wstring pIN);



выдает ошибки

Код: plaintext
1.
2.
3.
Ошибка	1	error C2146: syntax error : missing ';' before identifier 'SetCompProp'	c:\users\sposkryakov\documents\visual studio 2008\projects\rb\rb\RBDlg.h	36	RB
Ошибка	2	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\sposkryakov\documents\visual studio 2008\projects\rb\rb\RBDlg.h	36	RB
Ошибка	3	error C2061: syntax error : identifier 'wstring'	c:\users\sposkryakov\documents\visual studio 2008\projects\rb\rb\RBDlg.h	36	RB
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804673
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
std::wstring SetCompProp(wstring pIN);


?
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804678
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cerebrum
Код: plaintext
1.
std::wstring SetCompProp(wstring pIN);


?

Что не так?
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804686
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbCerebrum
Код: plaintext
1.
std::wstring SetCompProp(wstring pIN);


?

Что не так?
std не хватает
Код: plaintext
1.
std::wstring SetCompProp(std::wstring pIN);
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804688
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще интереснее ошибка

[SRC c++]
std::wstring SetCompProp(std::wstring pIN);


Ошибка 49 error LNK2019: unresolved external symbol "public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __cdecl CRBDlg::SetCompProp(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >)" (?SetCompProp@CRBDlg@@QAA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z) referenced in function "public: void __cdecl CRBDlg::OnBnClickedButton1(void)" (?OnBnClickedButton1@CRBDlg@@QAAXXZ) RBDlg.obj RB
/SRC]
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804696
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
string SetCompProp(string pIN);



компилируется
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804704
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbЕще интереснее ошибка

[SRC c++]
std::wstring SetCompProp(std::wstring pIN);


Ошибка 49 error LNK2019: unresolved external symbol "public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __cdecl CRBDlg::SetCompProp(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >)" (?SetCompProp@CRBDlg@@QAA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z) referenced in function "public: void __cdecl CRBDlg::OnBnClickedButton1(void)" (?OnBnClickedButton1@CRBDlg@@QAAXXZ) RBDlg.obj RB
/SRC]

Разобрался, ошибка была в другом месте
...
Рейтинг: 0 / 0
Объявление методов класса
    #39804776
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хоть я уже и задавал этот вопрос, но повторюсь - как эту функцию найти по имени?
...
Рейтинг: 0 / 0
Объявление методов класса
    #39805382
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbХоть я уже и задавал этот вопрос, но повторюсь - как эту функцию найти по имени?

Просто указать имя, функция найдётся сама.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объявление методов класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]