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

Typedef thiscall метода с переменным числом аргументов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание просто словаря, не выполняется поиск http://www.cyberforum.ru/cpp-beginners/thread1801754.html
Пример взят из книги, но работать он не хочет. Проверял цикл for, выдает значение 012.(Не совсем понятно от куда что, ладно 2 цифры но их 3) Думаю что что то не так с if (!strcmp(a, word)), раньше...
C++ Посоветуйте библиотеки/фреймворки/технологии для интерактивной управляемой графической визуализации Для начала простейшая задача - хочу, чтобы прямоугольник плавно, без отставаний и дерганий сопровождал перемещение курсора мыши, и при этом по какому-нибудь событию (таймеру или WM_MOUSEMOVE или еще... http://www.cyberforum.ru/cpp-beginners/thread1801718.html
Компиляция в mvs C++
Приветствую всех. У меня установлен Microsoft Visual Studio 2015. Как скомпилировать C++ программу, которая не использует .NET, чтобы на компьютере, где отсутствует .NET не требовало установку...
C++ Найти в каждой строке матрицы максимальный элемент
не получается вывести максимальный элемент. Помогите пожалуйста #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int main() { double **a,tmp;
C++ Запись в файл определенного количества элементов http://www.cyberforum.ru/cpp-beginners/thread1801641.html
Такая задача: есть 10000 чисел разного значения. Каждую тысячу записать в отдельный файл. Не могу сообразить,как записать 1000 чисел в файл((( #include<iostream> #include<fstream> using...
C++ Программа не выводит на экран содержимое файла Разрабатываю программу, в которой нужно ввести строку для шифрования, затем зашифровать эту строку (результат шифрования поместить в файл), затем считать с файла этот же зашифрованный текст и вывести... подробнее

Показать сообщение отдельно
jr_
80 / 80 / 26
Регистрация: 14.06.2016
Сообщений: 276
Завершенные тесты: 3

Typedef thiscall метода с переменным числом аргументов - C++

02.09.2016, 07:08. Просмотров 138. Ответов 0
Метки (Все метки)

Добрый день.
Хочу что то типа такого
C++
1
2
3
4
5
6
typedef void *(__thiscall *tThisCall)(void *, ...);
tThisCall method;
 
//...
 
method(object, arg1, arg2);
Естественно, такое можно только для cdecl.
Может быть можно как то используя шаблоны?
Пока додумался только до реализации через метод переходник, но такая реализация мне не нравится т.к. это лишняя трата процессорного времени.
C++
1
2
3
4
5
6
7
8
9
10
template <typename R = void, typename ... T>
static R Invoke(void *method, void *object, const T ... args) {
    R(__thiscall *m)(void *, const T ...);
    (void *&)m = method;
    return m(object, args ...);
}
 
//..
 
Invoke(method, object, arg1, arg2);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru