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

Перенаправление указателя при перегрузке оператора в variadic template - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Голосовое управление. Активация записи http://www.cyberforum.ru/cpp/thread1424001.html
Здравствуйте! Хочу добавить в свой проект умного дома голосовое управление. Нужно несколько команд - включить свет/выключить свет/открыть жалюзи и т.д. С распознаванием команды проблем быть не...
C++ RAW сокет нужен рабочий пример создания сырого сокета З.ы под windows Добавлено через 20 минут нашел такой код, под хрюшей работает збс, но в 7 неработает, как можно это исправить? и можно ли это... http://www.cyberforum.ru/cpp/thread1423999.html
Молодой поэт и программирование C++
Всем доброго времени суток!!!! Я на форуме первый день надеюсь, что мне помогут или дадут хороший совет. Мне надо написать программу или что-то вроде нее, которая решает мою проблему. Я почти всю...
ГОСТ для C++ C++
Ребят как правильно оформлять код программы, по какому госту?!
C++ Настройка Oracle Solaris Studio под Windows http://www.cyberforum.ru/cpp/thread1421315.html
скачал Oracle Solaris Studio но похоже она только для Solaris, OpenSolaris, Linux - есть ли возможность её Microsoft Windows ?
C++ Построить таблицу, содержащую проценты голосов, отданных командам Помогите пожалуйста, не могу запустить. Выбивает постоянно ошибку при запуске и не могу понять почему. Вот условие: В спортивных соревнованиях участвуют n команд. В файле SPORT содержатся... подробнее

Показать сообщение отдельно
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
28.04.2015, 22:58  [ТС]
Цитата Сообщение от gray_fox Посмотреть сообщение
обобщённый handle на ресурс и много switch-ей и cast-ов
Хотя бы так, но в рамках того что функция может требовать разное кол-во членов, хотелось бы чтоб был некий обобщённый вариант возврата.
типа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int CallFunction(var *&fvar)
{
    int res = 1;
    char ftps[7][20] = {"bool","int","double","PVOID","char *","void *","int *"};
    if (fvar[0].d.i <= 0)
        return 0;
    switch (fvar[0].d.i)
    {
    case 3:
        cout << "### 3 args entering" << endl;
        call(fvar[1].d.vp, GetVar(fvar[2]));
        break;
    case 4:
        cout << "### 4 args entering" << endl;
        call(fvar[1].d.vp, GetVar(fvar[2]), GetVar(fvar[3]));
        break;
    default:
        return -1;
    }
}
Не проблема написать статически тут ~9 case для 1-9 агрументов.
Если можно было бы создать одну функцию (с ~20 case под кол-во типов), в чём собственно и вопрос)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru