![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| maksar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Как в поток передать параметр типа int.
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 13 Всего: 98 |
передай его четвертым параметром...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| maksar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Вот меня именно это и интересует, как приобразовывать войд * к инт.
|
|||
|
||||
| alkorax |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 11.3.2006 Репутация: нет Всего: нет |
Приписать & ?
|
|||
|
||||
| maksar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
((, ну я не про это((
Как внутри thread получить число? |
|||
|
||||
| alkorax |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 11.3.2006 Репутация: нет Всего: нет |
param - указатель, iPortl - int. Попробуй так:
|
|||
|
||||
| maksar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
пишет
error C2100: illegal indirection |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
Просто нельзя разадресовать пустой указатель: компилятор не знает на какой тип данных он указывает.
Делайте так:
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| maksar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Компилится , но корректно не работает.
в функцию shell передается число 3434 в thread int iPortl = *((int *)param); iPort равно 2090069332, ни как не 3434. |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
В функции shell(int iPort) iPort - параметр функции. Компилятор выделяет под неё место в стеке. После выхода из функции стек освобождается и может быть затёрт (а может и не быть - не определённое поведение) другими функциями. Вы передаёте указатель на область стека и не можете гарантировать сохранность данных в этой области памяти т.к. Shell завершается сразу после CreateThread.
Передавать нужно значение, а не адрес переменной:
Так должно работать. Это сообщение отредактировал(а) adonin - 18.3.2006, 12:04 --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| maksar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Всем спасибо, работает.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |