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

Альтернативный вызов функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отследить изменение памяти сторонним процессом http://www.cyberforum.ru/cpp/thread1241864.html
Есть основное приложение1. Есть приложение2, которое считывает и изменяет его память. Надо отследить адреса, действие(чтение или запись), значение до и после действия. Куда копать?
C++ Adobe PDF Library (APDFL) - поместить в формируемый документ картину формата PNG Всем привет! Данная тема, возможно, не вполне подходит для данного раздела, поскольку вопрос, преимущественно имеет отношение к API Adobe PDF, конкретнее, к плюсовому API. Я пишу с... http://www.cyberforum.ru/cpp/thread1241863.html
Электронная подпись+работа с сертификатами C++
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите кто чем может. Вот само задание: Разработать приложение - утилиту командной строки, или с...
Освобождение динамически созданных переменных (2-ого уровня) C++
И так, продолжу старую тему про динамику. На этот раз есть вот что: #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std;
C++ Как правильно собрать ICU для g++ под Windows? http://www.cyberforum.ru/cpp/thread1238301.html
Не получается собрать ICU для компилятора g++ 4.8.2. Делаю через MSYS. Мои команды:cd D:/Temp/icu/source ./runConfigureICU MinGW --prefix=D:/Temp/dist --enable-static --disable-shared Всегда...
C++ Как из Wav файла получить комплексные значения для быстрого преобразования Фурье? Пишу программу для вывода спектра Wav файла Беру данные из Wav файла, прочел шапку, дошел до самих значений. Как понимаю это амплитудные значения. Дабы получить спектр, нужно использовать... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
19.08.2014, 16:05
Izual, Понял я все. Нет, нельзя так сделать. И через enum не получится, т.к. сигнатура функции ДОЛЖНА быть известна на этапе компиляции. Фича с variadic templates на самом деле тоже работает на этапе компиляции, т.е. когда мы пишем call(fun, args...) мы знаем, что передается некий указатель на void и абсолютно конкретные аргументы, уже на этапе компиляции.

Добавлено через 13 минут
Цитата Сообщение от Izual Посмотреть сообщение
Я пробовал с void * из предыдущего примера, но void* работает только с <= 32 бита, а это мало, мне надо больше.
Можно так же попробовать использовать boost::any или что-нибудь вроде, не знаю получится ли и возможности проверить нет.

C++
1
2
using func_type = boost::any(Args...);
boost::any result = func_type(args...);
И дальше уже либо здесь, либо где-то еще кастуем boost::any к нужному типу.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru