Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
#1

Приведение LPVOID* к POINT* - C++

11.03.2011, 17:40. Просмотров 591. Ответов 0
Метки нет (Все метки)

Всем привет) Что-то туплю сижу, не могу указатель на структуру разыменовать.
Создаю поток:
C++
1
CreateThread(NULL, 0, ThreadProc, &point, 0, NULL);
согласну прототипу этой функции 4-ым параметром должен быть LPVOID (кто не знает - это то же самое, что void*), мне нужно передать в поток структуру POINT (там 2 члена x и y, используется для работы с координатами экрана), ну я и передаю &point (point как вы поняли - это та самая структура). Потом в ф-ции потока делаю так:
C++
1
2
3
POINT GradientLine(*((POINT*)point));
GradientLine.x+=390;
GradientLine.y+=190;
Все компилится, но при выполнении вылетает ошибка "нарушение прав доступа 0x........" и указывает на строку:
C++
1
GradientLine.x+=390;
Пробовал сделать по-всякому, но рузультат тот же. Может я по запарке что-то не то делаю?
Могу реализовать все это дело через глобальную переменную, но не нравится мне этот вариант.

Добавлено через 18 минут
Ну я ж говорю, тупил)) Передавал указатель на локальную переменную, которая после создания потока уничножается)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2011, 17:40     Приведение LPVOID* к POINT*
Посмотрите здесь:

Приведение LPVOID к классу "непостоянной" величины - C++
В поток посылаю экземпляр класс : userThread = CreateThread(NULL, NULL, ConnectionShell, (LPVOID)(&userCurrent), NULL, NULL); Где...

Преобразование LPVOID в int - C++
Собственно вопрос в коде #include <Windows.h> #include <stdio.h> DWORD WINAPI Func(LPVOID); int main(void) { int a=0; ...

приведение типа - C++
Здравствуйте. у меня такой вопрос. как можно в c++ 2008 поменять тип. мне нужно char перевести в int, я пробовала char a; int y; y=(int)a;...

Динамическое приведение - C++
Добрый день вот код) В низу проблема) #ifndef SHAPE_H #define SHAPE_H class Shape { public: Shape ();

Приведение типов - C++
Доброго времени суток. Данный кусок кода выделяет целую часть. Потом, вычитая из исходного числа целую часть, получаем дробную. Почему...

Безопасное приведение - C++
Заинтересовало безопасное приведение типов. То есть чтобы определяло ужимание и выдавало ошибку. Вышло как-то так. А как бы сделали...

Приведение типов - C++
В чем различие привидения типа (type)expression, от type(expression)?

Приведение к void - C++
Доброй ночи! Просматривая код некоторой программы, обнаружил конструкцию следующего вида: void function(char a, char *p) { ...

Приведение подобны - C++
Приведение подобных. Многочлен произвольного вида с одним неизвестным задан символьной строкой. Неизвестное выражение представлено одной...

Приведение типов - C++
в GUI ни int str = static_convert<int>(Edit1->Text) ни int str = (int)Edit1->Text не приводит : E2034 Cannot convert...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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