Здравствуйте, Warturtle, Вы писали:
W>Здравствуйте, Warturtle, Вы писали:
W>>Здравствуйте, Caracrist, Вы писали:
C>>>Здравствуйте, Alexander G, Вы писали:
AG>>>>Частичная специализация возможно только для шаблонов класснов, не для шаблонов функций.
C>>>спасибо за пояснение
C>>>П.С. Есть какая то особая причина почему это так?
W>>Потому что то же самое можно сделать с помощью перегрузки.
W>... или шаблонов классов.
struct S1
{
template<typename T, bool> void F1();
template<typename T, int> void F2();
template<typename T, void *> void F3();
static int hmm;
//тут ещё много всяких деклараций, а определения в cpp
};
// а вот это определяет смысл, но не компилируется
template<typename T>
void S1::F1<T, true> (){}
template<typename T>
void S1::F2<T, 1> (){}
template<typename T>
void S1::F3<T, (void*)(&S1::hmm)> (){}
чем советуешь это заменить?