template<typename T,bool XXX>
class foo{
public:
...
void bar();
...
};
template<typename T,bool XXX>
void foo<T,XXX>::bar(){...}
//хочу специализировать метод bar для XXX=true
template<typename T,bool XXX>
template<T>foo<T,true>::bar(){...}
//error: invalid use of incomplete type ‘class foo<T, true>’
Как правильно специализировать bar? Целиком специализировать весь класс - это тонна копипасты. Гуглится всякая муть...