Вопросы по теме 'function-templates'

ошибка C2955: «ListRemake»: для использования шаблона класса требуется список аргументов шаблона
template <class T> class ListRemake { ... friend ostream& operator << (ostream& out, const ListRemake& obj); }; template <class T> ostream& operator << (ostream& out, const ListRemake& obj) {...
2997 просмотров
schedule 29.07.2023

Вывод аргументов шаблона (с использованием как явных, так и неявных аргументов в одном вызове)
У меня есть три аргумента шаблона для функции, и у меня проблемы с (я думаю) компилятором, который определяет, какой аргумент шаблона является каким. Функция шаблона: #include <structures/partition.h> #include <vector> namespace...
371 просмотров

Как выбрать правильный шаблон перегруженной функции во время компиляции?
Я пытаюсь понять, как выбрать правильный шаблон перегруженной функции во время компиляции , но компилятор усложняет мне задачу. Я могу заставить его работать, но я не понимаю, что происходит. Позволь мне объяснить. У меня есть две структуры A и...
1457 просмотров

Шаблон функции с типом возврата T не компилируется
Следующий код компилируется нормально: template<typename T> void f(const T &item) { return; } int main() { f("const string literal"); } Компиляция прошла успешно на ideone: http://ideone.com/dR6iZ Но когда я упоминаю...
2687 просмотров
schedule 14.06.2022

Почему GCC не позволяет мне использовать параметр шаблона для параметра другого шаблона?
Я написал следующую шаблонную функцию для суммирования содержимого объекта std::vector. Он находится в отдельном файле с именем sum.cpp. #include <vector> template<typename T> T sum(const std::vector<T>* objs) { T total;...
446 просмотров
schedule 14.08.2022

Параметры шаблона функции, не относящиеся к типу
Я читаю Полное руководство по шаблонам С++ и наткнулся на этот код параметров шаблона функции, не являющийся типом (я добавил main() и другие части, кроме определения и вызова функции): #include <vector> #include <algorithm> #include...
3030 просмотров
schedule 04.02.2023

Частичная спецификация функции шаблона в C++ работает, но почему?
Я пытаюсь выяснить, является ли частичная спецификация шаблонных функций частью стандарта С++ или это что-то специфичное для компилятора. Под частичной спецификацией я подразумеваю указание только тех типов, которые компилятор не может вывести....
1769 просмотров

Специализация шаблона функции не вызывается для производного типа
У меня есть шаблон функции, который я специализировал для определенного типа. У меня возникли проблемы с вызовом специализированной версии при определенных обстоятельствах. Проиллюстрировать struct Base {}; struct Derived : public Base {};...
794 просмотров

Специализированный шаблон функции-члена нешаблонного класса
Допустима ли следующая специализация шаблона функции-члена bar ? Он компилируется на gcc 4.5.3 и VS .NET 2008. Я сбит с толку, потому что смутно припоминаю, что читал, что шаблоны функций не могут быть специализированы. struct Foo {...
83 просмотров

Параметр шаблона по умолчанию в Visual Studios 2012
Этот вопрос является продолжением после этого . Фактическая проблема заключается в том, что параметры шаблона по умолчанию для шаблонов функций не поддерживаются Visual Studios 2012, как указано в этот список . Поскольку параметры шаблона...
275 просмотров

Шаблон функции «Найти элемент» вызывает у меня проблемы
Я пытаюсь найти элемент в диапазоне, поэтому у меня есть несколько тестов для моей шаблонной функции под названием «найти». template <typename T> T* find(T *left, T *end, T item); это прототип функции, который я использую, который не...
181 просмотров

Укажите тип возвращаемого значения на основе другого аргумента шаблона
Я хотел бы указать тип возвращаемого значения моей шаблонной функции с помощью другого аргумента шаблона. Все это внутри класса. В заголовочном файле: class MyClass { template<int type, typename RT> RT myfunc(); }; В .cpp...
1550 просмотров

Есть ли способ объявить имя типа для шаблонной функции?
Итак, у меня есть эта шаблонная функция (на которую, я знаю, смотреть некрасиво). Однако я не собирался использовать параметр шаблона по умолчанию, я намеревался создать typename , производный от T , который можно было бы использовать в caster...
121 просмотров

Сравнение типа данных в операторе If
Есть ли способ проверить тип данных параметра в операторе if? Вот пример исходного кода: он не компилируется, но используется для представления моих намерений. typedef char cInt[sizeof(int)]; typedef char cFloat[sizeof(float)]; typedef char...
3622 просмотров
schedule 05.05.2023

Ошибка специализации шаблона функции
Я пытаюсь специализировать свой шаблон функции для списка указателей int. template <typename typ> void sortowanie(typ *tablica, int rozmiar, Komparator<typ> *komparator) { int p; for(int j = rozmiar - 1; j > 0; j--) {...
118 просмотров

Почему аргумент по умолчанию нельзя добавить позже в функции шаблона?
Стандартный раздел С++ 8.3.6.4 говорит, что Для нешаблонных функций аргументы по умолчанию могут быть добавлены в более поздние объявления функции в той же области. [...] Но мой вопрос в том, почему это не разрешено для функций шаблона?...
1093 просмотров

шаблоны функций, частичное применение и вывод аргументов шаблона
Я пытаюсь получить следующую основную функцию для компиляции и работы, как и ожидалось: int main() { auto square = [](int x){ return x*x; }; typedef std::vector<int> Row; typedef std::vector<Row> Mat; Mat mat; auto...
140 просмотров

Построитель шаблона функции
Рассмотрим следующую шаблонную функцию: template<typename T1 = Type1, typename T2 = Type2, int X1 = DefaultX1, /* ...and so on */> int foo(/* skipped */) { ... } Суть в том, что он имеет длинный список параметров шаблона, как типовых,...
58 просмотров

Член класса статического шаблона C ++ в качестве параметра по умолчанию для функции шаблона друга
Почему использование статического члена класса шаблона в качестве параметра по умолчанию для функции шаблона друга дает мне ошибку компиляции в c ++? Как любить? Вот код: #include <iostream> template<typename T> void func(T n);...
541 просмотров

Почему моя специализация шаблона функции отклонена VS2017, а не VS2015?
У меня есть класс свойств, который связывает типы с целочисленными значениями. struct traits { private: template<int ID> struct type_impl {}; template<> struct type_impl<1> { using type = int; }; // ... public:...
616 просмотров