Результаты поиска по запросу "template-specialization"

1 ответ

Частичная неоднозначность специализации шаблона

Я не могу понять, почему утверждение в основном неоднозначно. 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 ...

4 ответа

C ++ шаблонная специализация для всех подклассов

Мне нужно создать шаблонную функцию следующим образом: template<typename T> void foo(T a) { if (T is a subclass of class Bar) do this else do something else }Я также могу представить, как это делается с использованием специализации шаблонов ... ...

3 ответа

Шаблон проектирования, позволяющий избежать потери при передаче сообщений

Базовый классMessageHandler вывел классы. Они хотели бы передавать сообщения друг другу. Сообщения могут быть разных классов, но могут быть сделаны для общего базового класса. Как каждый можетMessageHandler избежать передачи полученного ...

ТОП публикаций

1 ответ

Условно включить альтернативный оператор присваивания

Я пытаюсь условно создать экземпляр дополнительного оператора присваивания. Код ниже хорошо работает в Clang, но не в GCC 4.7. Проблема, которую я имею, кажется очень похожей на вопрос, заданный здесь:std :: enable_if для условной компиляции ...

2 ответа

специализация шаблона функции c ++ для массива с определенным размером

Пожалуйста, рассмотрите следующий код: #include <iostream> #include <typeinfo> template< typename Type > void func( Type var ) { std::cout << __FUNCTION__ << ": var = " << var << " [" << typeid( var ).name( ) << "]." << std::endl; std::cout << ...

2 ответа

Специализация параметра шаблона вариационного шаблона на минимальном количестве аргументов: законно или нет?

У меня есть код: #include <cstdio> template<template<typename...> class> struct Foo { enum { n = 77 }; }; template<template<typename, typename...> class C> struct Foo<C> { enum { n = 99 }; }; template<typename...> struct A { }; ...

2 ответа

Специализация шаблона функции-члена после ошибки создания экземпляра и порядок функций-членов

Следующий бит кода не скомпилируется на gcc 4.5.3 struct Frobnigator { template<typename T> void foo(); template<typename T> void bar(); }; template<typename T> void Frobnigator::bar() { } template<typename T> void Frobnigator::foo() { bar<T>(); ...

3 ответа

Почему полная специализация шаблонной функции не берется из файла .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 ...

3 ответа

Шаблонный класс неполной специализации

Я наткнулся на интересный момент, который я не смог объяснить или найти объяснение. Рассмотрим следующее определение шаблона (скомпилировано с mingw g ++ 4.6.2): template <typename T, typename S> class Foo { public: void f(){} void g(){} }; Если ...

1 ответ

метафункция шаблона для определения специализаций шаблона

Вдохновленэтот вопрос [https://stackoverflow.com/q/14227983/170521]Мне интересно, есть ли какая-то проверка во время компиляции, которую можно ввести, чтобы определить, есть ли два заданных экземпляра шаблона: template <typename T> class ...