Описание тега class-template
Anything related to C++ class templates, i.e. classes whose definition depends on some parameter according to templates definition rules.
1
ответ
Матричный шаблонный класс, передающий параметр по константной ссылке
Попытка написать шаблонный класс для матричного объекта. Получение ошибок компиляции: c: \ program files (x86) \ microsoft visual studio 11.0 \ vc \ include \ xmemory0 (606): ошибка C2558: класс 'Matrix': конструктор копирования недоступен или конст…
27 окт '18 в 00:23
2
ответа
Список аргументов для шаблона класса "calc" отсутствует
Я пытаюсь изменить класс "calc", чтобы он был более универсальным, чтобы он также принимал удваивающие или плавающие числа. class calc { public: int multiply(int x, int y); int add(int x, int y); }; int calc::multiply(int k1, int k2) { return k1 * k…
28 ноя '18 в 13:20
2
ответа
Почему этот вызов swap() неоднозначен?
Следующая программа #include <algorithm> #include <utility> #include <memory> namespace my_namespace { template<class T> void swap(T& a, T& b) { T tmp = std::move(a); a = std::move(b); b = std::move(tmp); } template&l…
03 дек '15 в 20:39
2
ответа
Как построить объекты из похожих шаблонных классов
Моя цель заключается в следующем. Я работаю с белками в условиях анализа данных. Данные, доступные для любого данного белка, являются переменными. Я хочу быть в состоянии построить класс белка из более простых родительских классов. Каждый родительск…
16 янв '13 в 21:24
1
ответ
Ошибка шаблона в списке
Я пытаюсь реализовать Снежинку Коха. Ради практики я составил общий список, но у меня возникли некоторые проблемы. #include <stdlib.h> #include <stdio.h> #include <math.h> #include <gl/glut.h> template <typename T> clas…
10 июл '12 в 22:46
1
ответ
Хранение шаблонных указателей на объекты в векторе и доступ через указатель базового класса
Я пытаюсь создать двумерный динамический массив, где каждая строка будет соответствовать списку другого типа данных. Для этой цели я использую вектор указателей, где каждый указатель будет указывать на одномерный массив определенного типа. Чтобы соз…
10 мар '18 в 20:30
1
ответ
Невозможно вывести строку из шаблона класса
Я пытался заставить свой шаблон класса распечатать строку для меня. Однако я получаю error C679: No operator found which takes a right hand operand of type std:: string, Я пробовал различные способы, чтобы эта ошибка исчезла. #include <iostream&g…
08 дек '14 в 06:44
1
ответ
Использование typedefs из класса шаблона в функции шаблона (не члена)
Следующее не скомпилируется (в любом случае с gcc 4.2.1 в Linux): template< typename T > class Foo { public: typedef int FooType; }; void ordinary() { Foo< int >::FooType bar = 0; } template< typename T > void templated() { Foo<…
10 мар '10 в 16:34
1
ответ
Шаблонные классы и перегрузка операторов
Как мне перегрузить класс шаблона, как показано ниже? template <class T> const_iterator& List<T>::const_iterator::operator++() { current = current->next; return *this; } template <class T> const_iterator List<T>::const…
07 фев '12 в 03:15
2
ответа
Спецификация пакета параметров C++ в конструкторе, а не в шаблоне
В отличие от объявлений функций с пакетами параметров, я обнаружил, что классы требуют тип для каждого аргумента в угловых скобках... Component<IntegerPair, int, int> temp(40, 5); ... который кажется излишним. Вот как я определил Component: te…
19 июл '15 в 07:06
1
ответ
Как вызвать конструктор с одним аргументом в этой программе, включающий шаблон класса?
Это код, который я написал, чтобы начать работу с шаблонами классов. #include<iostream> using namespace std; template<class T> class Complex { T *real,*imag; public: Complex(T a) { real=new T; imag=new T; *real=a; *imag=0; } Complex(T a,…
06 апр '16 в 20:25
1
ответ
Наследование для шаблонов классов
У меня есть три шаблона классов, использующих одни и те же данные членов и разные экземпляры одних и тех же методов. Я хотел бы создать шаблон базового класса и позволить этим трем наследовать его: #include <vector> #include <memory> tem…
18 ноя '18 в 12:06
2
ответа
Вызов другой функции-члена из функции в шаблоне класса в C++
Допустим, у меня есть шаблон класса с именем myTemplate с некоторыми переменными-членами и двумя функциями-членами, funcTempA, а также funcTempB, template <class T> class myTemplate { private: //member variables public: T* funcTempA(T *arg1, T…
19 дек '15 в 10:35
1
ответ
C++: предоставление функции класса в шаблонном классе о существовании именованного члена в его шаблонном типе?
Я пытаюсь сделать следующее: шаблонный класс должен предоставлять некоторые функции, зависящие от того, содержит ли тип, с которым он был создан шаблон, переменную-член с заданным именем. В качестве примера следующий псевдокод, который должен предос…
27 янв '16 в 19:14
3
ответа
Непосредственное окно
Мы используем fluentmigrator, и он хочет длинный номер миграции. Обычно я могу просто открыть окно и введите System.DateTime.Now.ToString("yyyMMddhhmmss"); Но иногда он скажет: Выражение не может быть оценено в режиме конструктора. Поэтому я начинаю…
28 фев '12 в 23:54
2
ответа
Вложение вложенного аргумента шаблона для шаблонов классов не работает
В этих вопросах и ответах я написал небольшой класс-обертку, который предоставляет обратный итератор для доступа к диапазону, полагаясь на вывод аргумента шаблона функции языка C++1z для шаблонов классов ( p0091r3 , p0512r0 ) #include <iostream&g…
15 фев '17 в 08:33
2
ответа
Шаблонная специализация с зависимыми значениями
Использование шаблонов для размера массива кажется простым: template <size_t N> struct MyArray { char array[N]; }; Однако я хотел бы установить размер массива на основе чего-то еще: enum MyEnum {Hi, Lo}; template <MyEnum T, size_t N> str…
03 янв '16 в 01:23
2
ответа
Шаблон класса, который не зависит от перестановок его аргументов
Рассмотрим шаблон класса и вспомогательные перечислимые классы, определенные следующим образом: enum class Color {Red, Green, Blue} enum class ShowAxes {False, True} enum class ShowLabels {False, True} template< Color, ShowAxes, ShowLabels > c…
02 фев '15 в 10:43
1
ответ
Константность вывода шаблона класса C++17
Я пытаюсь использовать вывод нового шаблона класса C++17, и, кажется, все работает нормально, пока я не применю const. Это небольшой пример проблемы, с которой я сталкиваюсь: #include <type_traits> template <typename T> struct X { T _dat…
25 июл '17 в 00:58
2
ответа
Взаимодействие с шаблоном класса
Я действительно уверен, что ответ на мою проблему можно найти в одной из ранее созданных тем. В частности, где и почему я должен поставить ключевые слова "template" и "typename"? который имеет отличное объяснение неоднозначности шаблон / имя типа. О…
22 мар '14 в 04:35