Результаты поиска по запросу "partial-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 ...

6 ответов

C ++ шаблон функции частичная специализация?

Я знаю, что приведенный ниже код является частичной специализацией класса: template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … ...

2 ответа

Частичная специализация шаблона с ошибкой нескольких аргументов шаблона

Когда я использую частичную специализацию шаблона в классе с одним аргументом шаблона, я могу специализировать метод следующим образом: #include <cstdlib> template< std::size_t Dim > class Test { public: int foo(); }; template< std::size_t Dim > ...

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

1 ответ

Хорошо, я приму это как юридический ответ :) Думаю, я просто забуду о специализации этой черты итератора, поскольку она уже определена. РЕДАКТИРОВАТЬ: О, нет, обычно, но я нахожу странным, что этот код не работает с моим компилятором (4.5.5). В комментариях к вопросу кто-то попросил полный воспроизводимый код, который я вставил на codepad.org, и заметил, что он компилируется там.

я есть следующий код: template<typename T, typename Allocator = std::allocator<T> > class Carray { // ... typedef T* pointer; typedef pointer iterator; // ... };Сейчас я пытаюсь сделать частичную специализацию дляiterator_traits, Вроде все ...

1 ответ

 когда он встречает набор соответствующих аргументов шаблона. Затем это определение будет генерировать разные экземпляры для каждого набора совпадающих аргументов шаблона (так же, как и определение общего шаблона). Только полная специализация создаст один экземпляр.

я есть этот код template<int N, bool C = true> struct A; template<int N> struct A<N, !(N % 5)> { /* ... */ }; // should work A<25> a;То есть для чиселN которые делятся на5Компилятор должен использовать частичную специализацию. Но компилятор ...

2 ответа

Благодаря AProgrammer, не понял, что частичная специализация вообще не возможна для функции-члена.

я есть шаблонный класс с типом и нетиповым параметром шаблона. Я хочу специализировать функцию-член, что я нашел, как в примере ниже, я могу выполнить полную специализацию штрафа. template<typename T, int R> struct foo { foo(const T& v) : ...

1 ответ

FCD - окончательный проект комитета.

т вопросЯ безуспешно спросил, как использовать разные реализации pimpl в зависимости от аргумента шаблона. [https://stackoverflow.com/questions/5419670/inner-class-depending-on-a-template-argument] Может быть, этот пример лучше иллюстрирует то, ...

4 ответа

 синтаксис.

ю, что спецификация языка запрещаетчастичный специализация шаблона функции. Я хотел бы знать обоснование, почему оно запрещает это? Они не полезны? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} ...

3 ответа

 конечно).

ОШИБКА: template<class T> struct A { void f1() {}; void f2() {}; }; template<> struct A<int> { void f2() {}; }; int main() { A<int> data; data.f1(); data.f2(); }; По сути, я хочу специализировать только одну функцию и использовать ...

1 ответ

+1 за укорочение теста