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

Перехват значений параметров шаблона - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ OpenGL для новичка http://www.cyberforum.ru/cpp-beginners/thread932235.html
Всем привет. Никак не могу найти книгу по OpenGL и C++, хотя нет, вру, находил. Но они так сказать далеко не первой свежести. Я хотел бы написать змейку (в консоле с графикой), и вот думаю использовать GL. Встречал так же уроки и видеоуроки, но мне хотелось бы книгу. Что подскажете по этотому поводу? Купить старую книгу? Учиться по урокам? Или вообще использовать другую библиотеку?
C++ Покер. Комбинация Стрит-флеш Написал функцию проверки на образование комбинации стрит-флеш....помидорами не закидывать писал не очень вдумчиво но здесь какие то ошибки при использовании алгоритмов STL и моей структуры(я так думаю) мб и сам алгоритм не правильный...кому не в западло разобраться в моем говнокоде подскажите)):) struct card { int first; //величина карты int second; //её масть ... http://www.cyberforum.ru/cpp-beginners/thread932234.html
Шаблоны STL C++
Здраствуйте. У меня задача такая: робота со стандарными шаблонами. Мне нужно заполнить контейнер пользовательским типом даных, тоесть класом. У меня написан клас (по возможности проверть перегрузку фкнкции) но я никак не могу создать массив vector<Student> VStudent(4); не понимаю почему. пример в книге точно такой же, и все работает. не могу проверить размер контейнера c помощью VStuden.size()...
OpenGL, работа с освещением C++
Здравствуйте. Пробую себя в игростроении. Нарисовал трехмерный домик, физику сделал - можно бегать по поверхностям, прыгать, не проходить сквозь стены - все вроде бы работает. И тут встал вопрос об освещении... Использую уроки от NeHe, там про освщение написано, сделал как говорилось. Заработало. Но заметил несколько странностей(с заданием параметров освещения немного разобрался): 1) Освещение...
C++ Вывод символа из таблицы ASCII http://www.cyberforum.ru/cpp-beginners/thread932209.html
Всем добрый вечер! Небольшой ступор Пытаюсь в консоли вывести символ - 156 Это символ фунта (денежная единица). #include <iostream> .... cout << '\x9C' << endl; ....
C++ Математическая задачка В качестве f(x) использовать по выбору: sin(x), х , ех подробнее

Показать сообщение отдельно
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76
02.08.2013, 18:13  [ТС]     Перехват значений параметров шаблона
gray_fox, а как это поможет?

Добавлено через 19 часов 44 минуты
Пытаюсь решить вопрос сабжа с помощью std::integral_constant следующим образом:
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
template<int N> 
struct A : std::integral_constant<int, N>
{
    template<int PrevN> void print_prevN(){std::cout<<PrevN<<std::endl;}
};
 
 
template<int N> 
struct B : std::integral_constant<int, N>
{
    template<int PrevN> void print_prevN(){std::cout<<PrevN<<std::endl;}
};
 
template<typename...Arg>
class HeterogenousContainer
{
public:
       
    void process(){process(spec::sequence<sizeof...(Arg)>());}
    
private:
    std::tuple<Arg...> elements;   
    template <int... Idx> void process(spec::index<Idx...>)
    {auto aux = { (std::get<Idx>(elements).template print_prevN<std::get<Idx-1>(elements)::value>(), 0) ... };}
};
Однако, компилятор gcc 4.7. ругается на синтаксис:
C++
1
2
3
fl.hpp:172:53: ошибка: parse error in template argument list
fl.hpp:172:53: ошибка: ожидался идентификатор
fl.hpp:172:53: ошибка: ожидалось «)»
Ему не нравится строчка
C++
1
{auto aux = { (std::get<Idx>(elements).template print_prevN<std::get<Idx-1>(elements)::value>(), 0) ... };}
а точнее, вот эта ее часть:
C++
1
std::get<Idx-1>(elements)::value
Подскажите, что тут исправить, чтобы компилятор на синтаксис не злился и еще хотел бы узнать мнения о правильности самого подхода.
Заранее благодарю.
 
Текущее время: 09:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru