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

5 ответов

Специализация шаблона после создания экземпляра?

Мой полный код слишком длинный, но вот фрагмент, который будет отражать суть моей проблемы: class BPCFGParser { public: ... ... class Edge { ... ... }; class ActiveEquivClass { ... ... }; class PassiveEquivClass { ... ... }; ...

2 ответа

Ужасно то, что при всех этих enable_if для компилятора должна быть доступна только одна специализация, иначе возникнет ошибка устранения неоднозначности. Вот почему поведение по умолчанию «get as T» также требует включения if.

ужно специализировать функцию-член шаблона для некоторого типа (скажем,двойной). Он отлично работает в то время как классX Сам по себе это не шаблонный класс, но когда я делаю его, GCC начинает выдавать ошибки во время компиляции. #include ...

2 ответа

специализировать некоторые функции-члены, но тогда вы не можете специализировать весь класс (т.е. все члены объявляются так же, как и для неспециализированного случая, вы просто предоставляете реализацию для некоторых членов функции).

аю Полное руководство по шаблонам, и оно говорит следующее: Где речь идет о специализации шаблона класса. Однако, если вы специализируете шаблон класса, вы также должны специализировать все функции-члены. Хотя можно специализировать одну ...

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

1 ответ

 никогда не является typedef для типа, "не связанного" с y <T>).

аю с шаблонами и частичной специализацией, но есть одна специализация, которую я не знаю, как писать ... Я упросту код, чтобы его было легче читать. Давай кондизатор template <typename T> class x { ... };Обычно я могу специализироваться ...

1 ответ

Отлично, спасибо за цитату!

чаю поведение компоновщика C ++ относительно специализаций шаблонов. Я использую Microsoft Visual C ++ 2010 для этих экспериментов. Я не знаю, то же самое ли поведение с другими инструментальными цепочками (например, gcc). Вот первый фрагмент ...

3 ответа

Законно ли делать специализацию шаблона функции виртуальной?

В C ++ специализация шаблона функции должна действовать точно так же, как нормальная функция. Значит ли это, что я могу сделать один виртуальный? Например: struct A { template <class T> void f(); template <> virtual void f<int>() {} }; struct B ...

1 ответ

Специализация шаблона класса в области видимости?

Почему специализация S в A легальна, а S в B нет? (если B не закомментирован) GCC 4.8.1: ошибка: явная специализация в области отсутствия пространства имен "класс B" #include <type_traits> #include <iostream> class Y {}; class X {}; struct A ...

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 ...

5 ответов

Специализация класса шаблонов C ++: почему общие методы должны быть повторно реализованы

В образце: #include <iostream> using namespace std; class B { public: virtual void pvf() = 0; }; template <class T> class D : public B { public: D(){} virtual void pvf() {} private: string data; }; template <> class D<bool> : public B { public: ...

2 ответа

Специализировать шаблон с шаблоном

У меня есть (бесплатный) шаблон функции, который выглядит следующим образом template <typename T> T get();Теперь я хочу специализировать эту функцию для класса, который сам является шаблоном. Но мой компилятор не хочет его компилировать, и ...