Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771

Как будет &(PVOID&) в reinterpret_cast?

21.08.2021, 03:27. Показов 4299. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как правильно написать приведение к типу &(PVOID&) через reinterpret_cast?
(в Detours вообще написано что DetourAttach ждет первым аргументом void**, но когда я привожу к void** вместо &(PVOID&) то оно крашит процесс при внедрении :/
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2021, 03:27
Ответы с готовыми решениями:

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;)
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H #include &lt;string&gt; class A ...

Язык C, напечатать таблицу истинности логической функции (A & B & C), где & - знаки логический операций И, НЕ
напечатать таблицу истинности логической функции (A &amp; B &amp; C), где &amp; - знаки логический операций И, НЕ

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

47
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
21.08.2021, 21:47  [ТС]
Студворк — интернет-сервис помощи студентам
DrOffset, ещё раз спасибо большое <3
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
21.08.2021, 21:48
Цитата Сообщение от DrOffset Посмотреть сообщение
При чем тут шаблон?
кстати при многом, но это другая тема.
0
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
21.08.2021, 21:49
Цитата Сообщение от SmallEvil Посмотреть сообщение
кстати при многом, но это другая тема.
reinterpret_cast - это не шаблон, если речь об этом
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
21.08.2021, 21:50
Цитата Сообщение от SmallEvil Посмотреть сообщение
кстати при многом
и я именно говорю об интерпеткаст

Добавлено через 22 секунды
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
reinterpret_cast<PVOID*>(&TrueSleep);
что не шаблон ???

Добавлено через 46 секунд
Цитата Сообщение от DrOffset Посмотреть сообщение
если речь об этом
речь об этом
0
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
21.08.2021, 21:51
Цитата Сообщение от SmallEvil Посмотреть сообщение
что не шаблон ???
Да, это не шаблон.
И совершенно не имеет значения, что оно выглядит как подстановка аргумента в шаблон, это специально так сделано.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
21.08.2021, 21:57
Цитата Сообщение от DrOffset Посмотреть сообщение
Да, это не шаблон.
И совершенно не имеет значения, что оно выглядит как подстановка аргумента в шаблон, это специально так сделано.
DrOffset, докажите хоть чемто !
0
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
21.08.2021, 22:15
Цитата Сообщение от SmallEvil Посмотреть сообщение
докажите хоть чемто !
Б. Страструп. - "Дизайн и эволюция C++", стр. 335.

Добавлено через 9 минут
Цитата Сообщение от SmallEvil Посмотреть сообщение
докажите хоть чемто !
Еще можно сделать вот такой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
template <typename T>
T some_cast1(void * p){
    return (T)p;
}
template <typename T, typename U>
T some_cast2(U p){
    return (T)p;
}
 
void foo1( int* (*p)(void*)) {
    
}
template <typename T, typename U>
void foo2( T (*p)(U)) {
    
}
 
int main()
{
    foo1(some_cast1);
    foo1(some_cast2);
    //foo1(reinterpret_cast); 
    
    foo2<int*, void*>(some_cast1);
    foo2<int*, void*>(some_cast2);
    //foo2<int*, void*>(reinterpret_cast);    
}
Если бы reinterpret_cast был шаблонной функцией, как два моих варианта, он подошел бы наравне с моими шаблонами (я специально сделал два разных варианта).
Но если вы раскомментируете строки, то получите ошибку компиляции.
error: expected '<' after 'reinterpret_cast'
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
22.08.2021, 09:07
Цитата Сообщение от SmallEvil Посмотреть сообщение
Да, это не шаблон.
да но выглядит как шаблон (выглядит как утка, крякает как утка, но не утка )
Цитата Сообщение от DrOffset Посмотреть сообщение
Б. Страструп. - "Дизайн и эволюция C++", стр. 335.
еще на cppreference пишут что это ключевое слово...

При использовании reinterpret_cast наивно полагал что можно скастить все что угодно во что угодно, но это оказывается не так. И я еще не понял хорошо это или плохо. (наверное все же хорошо)
C++
1
2
3
4
int main()
{
    std::cout << reinterpret_cast<int&>(33);
}
Code
1
2
error: invalid cast of an rvalue expression of type ‘int’ to type ‘int&’
     std::cout << reinterpret_cast<int&>(33);
На вопрос читающих эту замученную мной ветку - да, я совсем больной
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2021, 09:07

В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9&
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка?
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt; setw(5) &lt;&lt; ptr; // вывод элементов...

Нюансы синтаксиса: где, как и для чего используется &&
Когда применяется ссылка на ссылку? В STL есть классы, конструкторы которых принимают ссылку на ссылку. Попробовал понять для чего они...

Как проверить, принадлежит ли символ заданному диапазону m...n, кроме if (c <= n && c >= m) ?
есть какая-нибудь более короткая запись для проверки, принадлежит ли символ заданному диапазону m...n, кроме if (c &lt;= n &amp;&amp; c...

Порядок вычисления: операторы «|» и «||», «&» и «&&»
В Java булевые операторы «|» и «||», и «&amp;» и «&amp;&amp;» отличаются друг от друга порядком вычеслений, а в C++ так же как и в Java или...


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru