Re[5]: illegal use of explicit template arguments
От: Caracrist https://1pwd.org/
Дата: 15.12.09 14:54
Оценка:
Здравствуйте, 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)> (){}

чем советуешь это заменить?
~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.