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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Голосовое управление. Активация записи http://www.cyberforum.ru/cpp/thread1424001.html
Здравствуйте! Хочу добавить в свой проект умного дома голосовое управление. Нужно несколько команд - включить свет/выключить свет/открыть жалюзи и т.д. С распознаванием команды проблем быть не должно, распознавать можно через гугл или яндекс. Вопрос в том, как активировать распознавание? У меня пока что только такая мысль: при появлении звука в микрофоне записывать его, а после окончания...
C++ RAW сокет нужен рабочий пример создания сырого сокета З.ы под windows Добавлено через 20 минут нашел такой код, под хрюшей работает збс, но в 7 неработает, как можно это исправить? и можно ли это исправить вообще? #include <Winsock2.h>//Ws2_32.lib #include <ws2tcpip.h> //#include <Windows.h> #include <iostream.h> 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 содержатся прогнозы результатов соревнований. Каждый прогноз включает номер команды, занявшей первое место, номер команды, занявшей последнее место, номера команд, входящих в первую тройку сильнейших команд.... подробнее

Показать сообщение отдельно
DrOffset
6856 / 4067 / 927
Регистрация: 30.01.2014
Сообщений: 6,865
23.04.2015, 16:37     Перенаправление указателя при перегрузке оператора в variadic template
Цитата Сообщение от Izual Посмотреть сообщение
Я блин и спрашиваю, почему не срабатывает перегруженный оператор, который поидее должен перенаправить получение данных из указателя.
А я тебе отвечаю, что он не срабатывает, потому что компилятор не знает к какому типу нужно приводить и не знает, что вообще нужно что-то приводить.
Я тебе пример выше написал. Когда аргумент функции задан типом, а не шаблоном, то оператор срабатывает, когда задан шаблоном, то нет. Потому что шаблон - это не тип. Это потенциально возможное множество типов, потенциально бесконечное. Ну и какой прикажешь вызвать оператор?
Шаблон вывел тип, который передали. Передали ему d (вот здесь)
Цитата Сообщение от Izual Посмотреть сообщение
C++
1
call(v[0][4].d.vp, v[1][2].d, v[1][3].d);
Какого типа у нас d? Правильно, анонимный union. Вот именно этот тип шаблон и вывел.
Еще раз, операторы преобразования работают только если стоит конкретный тип
C++
1
int a = v[1][2].d; // будет вызвано преобразование к int
, тогда компилятор может вычислить, какой из операторов вызвать (смотри еще раз пример с функциями выше). Если там стоит шаблон, то преобразования не будет, будет подстановка фактического аргумента. Если ты передаешь юнион, то юнион и будет параметром шаблона.
Чтобы заработал оператор приведения, нужно подсказать компилятору, какое преобразование необходимо выполнить (например):
C++
1
call(v[0][4].d.vp, (void*)v[1][2].d, (char*)v[1][3].d);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru