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

recursion with variadic template - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ поменять местами первый столбец со вторым ,третий с четвёртым, и т.д. http://www.cyberforum.ru/cpp-beginners/thread434059.html
помогите решить пожалуйста!!!! Дан двумерный массив из чётного числа столбцов .поменять местами его первый столбец со вторым ,третий с четвёртым, и т.д.
C++ Господа, нужно выбрать double-архив из строки string(С++/С) Есть строка формата: string str="R 7.2 531.804 119.479 0.477472 175.792 7.22212 -64.2461 0 79.5401 -0.600769 77.957 0 0.982318 0 0 3.708 0"; Нужно выбрать все символы(double-архив). Первый символ - R, далее 3 пробела. Я начинающий, возможно кому-то задача тривиальна... Бьюсь не первый день... Это уже крик о помощи. Спасибо за понимание, Art_snake.... http://www.cyberforum.ru/cpp-beginners/thread434050.html
C++ Найти сумму ряда
Вычислить сумму cos1/sin1+(cos1+cos2)/(sin1+sin2)+...+(cos1+cos2+...+cosn)/(sin1+sin2+...+sinn). вот что у меня получилось...но выдаёт ошибку #include<iostream.h> #include<conio.h> #include<math.h> int main() {int n;
Курсор и Изображени C++
Пожалуйста помогите очень сложно.
C++ Исправить код (считать данные из файла) http://www.cyberforum.ru/cpp-beginners/thread434020.html
С языком знаком на очень базовом уровне. С чтением из файлов почти не знаком (не знаю, правильно ли выбрал именно fscanf). Постарался написать "примерный" код, прошу посмотреть и указать на ошибки. Проблема оптимизации не очень важна. Нужно записать данные из файла в структуры, и потом как-бы найти "нужную" строку из этих структур. // структура для заполнения struct tag_info { char id; ...
C++ программа на нахождение суммы n червых членов последовательность фибоначи ребята помогите с Фибоначи задание найти сумму n первых членов Фибоначи. подробнее

Показать сообщение отдельно
cyberguz
6 / 6 / 0
Регистрация: 01.12.2010
Сообщений: 105
24.01.2012, 02:57     recursion with variadic template
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#define NOT_COMPILE 1
 
#if NOT_COMPILE
 
// так не компилится
 
template <class Type, unsigned int head, unsigned int ... rest >
struct bitfield
{
   static const Type value = (1 << head) | bitfield <Type, rest...>::value; // строка 100
};
 
template <class Type, unsigned int head>
struct bitfield <Type, head>
{
   static const Type value = 1 << head;
};
 
#else
 
// а так компилится
 
template <class Type, unsigned int ... all>
struct bitfield
{
  static const Type value = 0;
};
 
template <class Type, unsigned int head, unsigned int ... rest >
struct bitfield <Type, head, rest...>
{
   static const Type value = (1 << head) | bitfield <Type, rest...>::value;
};
 
#endif
 
int main (int argc, const char* argv[])
{ 
   std::cout << std::hex << bitfield<unsigned int, 31>::value << std::endl;   
  
   return 0;
}

Код
$ g++ test.cpp -std=gnu++0x
test.cpp:100:67: пока не реализовано: cannot expand ‘rest ...’ into a fixed-length argument list
Первый вариант сам придумал, воторой нашёл.
Почему второй работает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru