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

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

21.08.2021, 03:27. Показов 4233. Ответов 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
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
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
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
21.08.2021, 21:51
Цитата Сообщение от SmallEvil Посмотреть сообщение
что не шаблон ???
Да, это не шаблон.
И совершенно не имеет значения, что оно выглядит как подстановка аргумента в шаблон, это специально так сделано.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
21.08.2021, 21:57
Цитата Сообщение от DrOffset Посмотреть сообщение
Да, это не шаблон.
И совершенно не имеет значения, что оно выглядит как подстановка аргумента в шаблон, это специально так сделано.
DrOffset, докажите хоть чемто !
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
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
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru