Результаты поиска по запросу "template-specialization"
Условно включить альтернативный оператор присваивания
Я пытаюсь условно создать экземпляр дополнительного оператора присваивания. Код ниже хорошо работает в Clang, но не в GCC 4.7. Проблема, которую я имею, кажется очень похожей на вопрос, заданный здесь:std :: enable_if для условной компиляции ...
Почему полная специализация шаблонной функции не берется из файла .cpp без объявления?
Следующий код не генерирует компиляцию / ошибку компоновщика / предупреждение: // A.h #include<iostream> struct A { template<typename T> static void foo (T t) { std::cout << "A::foo(T)\n"; } }; void other (); // main.cpp #include"A.h" int main ...
конечно).
ОШИБКА: template<class T> struct A { void f1() {}; void f2() {}; }; template<> struct A<int> { void f2() {}; }; int main() { A<int> data; data.f1(); data.f2(); }; По сути, я хочу специализировать только одну функцию и использовать ...
Специализация шаблона оператора преобразования
Вот в основном академическое упражнение в понимании операторов преобразования, шаблонов и шаблонных специализаций. Шаблон оператора преобразования в следующем коде работает дляint, float, а такжеdouble, но не работает при ...
Создание нового примитивного типа
Есть ли способ создать новый тип, который похож на один из базовых типов (например, char), и который может быть неявно преобразован между ними, но будет различаться в шаблонах, так что, например, работает следующий код? typedef char utf8; ...
Могу ли я специализировать шаблон класса с помощью шаблона псевдонима?
Вот простой пример: class bar {}; template <typename> class foo {}; template <> using foo<int> = bar;Это разрешено?
Частичная неоднозначность специализации шаблона
Я не могу понять, почему утверждение в основном неоднозначно. template<class T, class U, int I> struct X { void f() { cout << "Primary template" << endl; } }; template<class T, int I> struct X<T, T*, I> {void f() { cout << "Partial ...