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

Как вы шаблонном классе определить контейнер, тип которого совпадает с именем параметра шаблона? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатель на функцию-член http://www.cyberforum.ru/cpp-beginners/thread408617.html
// howmany.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> class cat { public:
C++ создать программу,помогите,пожалуйста. разработать алгоритм,вычисляющий перекаются ли две окружности. точки и окружности задать с помощью структур. результат вывести на экран. http://www.cyberforum.ru/cpp-beginners/thread408616.html
Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. C++
Всем привет. Друзья, подскажите - необходимо написать на С++ рекурсивную подпрограмму вычисления суммы элементов массива, состоящего из n-элеметов. За ранее благодарю.
ошибки в коде C++
помогите пожалуйста исправить код для задачи: Даны натуральное n, действительные числа х, а1, ..., аn. В последовательности а1, ..., аn найти два члена, среднее арифметическое которых ближе всего к х. # include <locale.h> # include <math.h> # include <stdio.h> const int N=100;
C++ Замена битов http://www.cyberforum.ru/cpp-beginners/thread408580.html
Помогите решить задачу, пожалуйста. Ввести последовательность из 8 символов. Если символ есть + - * / %, то заменить в нём четыре младших бита единицами, иначе – заменить 5-й бит нулем. Вывести исходную и преобразованную последовательности в символьной и восьмеричной формах.
C++ Найти наименьшее общее кратное (НОК) n натуральных чисел Есть задача: НОК Найти наименьшее общее кратное (НОК) n натуральных чисел. Технические условия Вход В первой строке задано количество чисел n (1 < n < 21). Во второй строке находится n натуральных чисел, не превышающих 100 и разделенных пробелом. подробнее

Показать сообщение отдельно
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
17.12.2011, 03:15  [ТС]
Но теперь не понять, почему не компилится это вот:
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
#include <windows.h>
#include <vector>
#include <stack>
#include <deque>
using namespace std;
 
 
//T предназначена заменять собой "Сишный" тип, вроде int или float 
//t заменяет контейнер, например, vector или stack
//t_ заменяет второй параметр параметра t
//Проще говоря, вот шаблон для вектора 
//template < class T, class Allocator = allocator<T> > class vector;
 
//а вот для стека 
//template < class T, class Container = deque<T> > class stack;
 
 
template <class T, template <class, class > class t, template <class> class t_ >
class klass {
 public:
  klass (t<T, t_<T> >& prom) {;}
};
 
 
         //+++++++++++++++++++++++++++++++++++++++++++++++++//
 
 
int main () {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 //Тут всё нормально компилится
 vector <int> vec;
 klass<int, vector, allocator> klass_(vec);
 
 stack <int> stac;
 
 //А тут нет
 //klass<int, stack, deque > klass__(stac);
 
 return 0;
}
Вот здесь стандарт шаблона класса vector,
А здесь шаблона класса stack

Видно, что если использую вектор, то надо писать allocator, что я и делаю, а если стек, то надо писать deque. Но во втором случае почему-то не компилится.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru