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

Приведение LPVOID к классу "непостоянной" величины - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В чём разница между total = total + trans и total += trans? http://www.cyberforum.ru/cpp-beginners/thread642009.html
Добрый день. Изучаю четвертое издание Липпмана. Автор задает вопрос: "В программе книжного магазина, при суммировании объектов trans и total, использован обычный оператор плюс, а не составной...
C++ Найти количество вхождений одного списка в другой Здравствуйте. Помогите, пожалуйста, разобраться: у меня была задача - алгоритмом Рабина-Карпа (то есть посредством выискивания хеш-значений) найти количество вхождений одного списка в другой. Но... http://www.cyberforum.ru/cpp-beginners/thread641997.html
C++ Функциий system
Доброго времени суток. Прошу Вас помочь мне решить одну проблему: Мне требуется создать 50 папок с именами от 1 до 50 включительно. Вот мой код:#include <stdlib.h> #include <conio.h> using...
Двумерный динамический массив, что и с чем есть? C++
собственно как сделать Двумерный динамический массив. и как можно проверить его работу?
C++ HelloWorld http://www.cyberforum.ru/cpp-beginners/thread641974.html
Решил освоить С++. Но первый же пример из книги Харви М. Дейтел, Пол Дж. Дейтел "Как программировать на C++ (2008)" отказался работать в VS 2010.Кроме того VS сообщила, что код устарел. ...
C++ вычислить с заданной точностью значение функции вот такая задачка... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335

Приведение LPVOID к классу "непостоянной" величины - C++

24.08.2012, 14:37. Просмотров 493. Ответов 5
Метки (Все метки)

В поток посылаю экземпляр класс :
C++
1
userThread = CreateThread(NULL, NULL, ConnectionShell, (LPVOID)(&userCurrent), NULL, NULL);
Где пытаюсь излвечь экземпляр :
C++
1
2
3
4
5
6
7
8
DWORD CALLBACK ConnectionShell(LPVOID lParam)
{
    USER* userCurrent = new USER;
    memcpy(userCurrent, lParam, 44); // 44 - размер экземпляра после вызова стандартного\ конструктора
    userCurrent->Connection(); // Здесь так же побывали (USER*)(lParam)->Connection(); и их братья\
reinterpret/static/dynamic_cast
    return FALSE;
}
Сам класс "непостоянной" величины, ибо в нём есть vector :
C++
1
2
3
4
5
6
7
8
class USER
{
private :
    sockaddr_in _taddress;
    SOCKET _tsocket;
    std::vector <BOOL> _trooms;
...
};
Вопрос : как привести ОБРАТНО к типу USER тип LPVOID? Ведь если этого сделать нельзя, то вектор придется выносить отдельно. Прощай абстракция :<
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru