![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Incinerated |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
Поискав на форуме нашел некоторые вещи, но что то не получается. Вот хеадер класса:
а вот cpp:
В cpp-файл не компилится. :( Пишется ошибка [C++ Error] TWorkWithServer.cpp(24): E2034 Cannot convert 'WSAData TWorkWithServer::*' to 'WSAData *'. Я так понимаю нельзя работать с объектами... а что можно сделать? создаю так:
т.е. смысл такой, если к серверу по заданному ай-пи и порту нельзя подключится, то нужно вернуть NULL при создании экземпляра данного класса. Это сообщение отредактировал(а) Incinerated - 18.2.2009, 16:12 |
||||||
|
|||||||
| Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Вот для примера
Это сообщение отредактировал(а) Dem_max - 18.2.2009, 16:22 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
на какую строчку ругается?
|
|||
|
||||
| Incinerated |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
первую в функции
to DemMax это я и сам знаю что так можно сделать... а мне нужно чтобы, например, я делаю TWorkWithBase *temp = new TWorkWithBase("127.0.0.1",3333); если не подключилось, вернулось в переменную temp NULL. В некоторых закрытых классах это реализовано, мне нужно знать как... |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Incinerated,
Ты лучше бы показал текст ошибки, а то сидий гадай на что ругается. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Incinerated |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
Я писал...в первом посте....
|
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
у gcc какие-то загадочные сообщения об ошибках
Create - статический метод класса, а ты пытаешься получить из него доступ к нестатическим членам класса |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
кстати незаметил, а зачем ты Create(char* ip,DWORD port); делаешь статическим ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
хотя, имхо, конструкция не очень удачная... Это сообщение отредактировал(а) mes - 19.2.2009, 10:09 |
||||
|
|||||
| SenkraD |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
Тогда измени свой метод так:
Плюс ексепшины можен нормальные кидать и обрабатывать их Ну и ещё можно было бы часть переделать, но это уже думай сам Это сообщение отредактировал(а) SenkraD - 19.2.2009, 10:15 |
||||
|
|||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
всем спасибо, а еще вопрос.... возможно ли такое сделать без отдельной функции Create? Чтобы где то в коде через new создавался экземпляр класса и если что-то не так в конструкторе, то возвращался бы NULL? Или только таким способом можно?
Спасибо. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
нет, только разгрузив внешней (по отношению к создаваемому объекту) функцией. только вот Вы абсолютно уверены, что в случае отсутствия связи должен возвращаться NULL вместо объекта-сервера ? Это сообщение отредактировал(а) mes - 19.2.2009, 11:28 |
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Это сообщение отредактировал(а) GSasha - 19.2.2009, 12:20 |
|||
|
||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
да. А зачем мне объект-сервер, если он ничего сделать не может?! |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
а в друг в данный момент коннекта нету, а через секунду сервер ответит. Так что лучше создавать экземпляр класса как обычно и иметь функцию Connect
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |