2014-06-30 22 views

cevap

19

vakaları ayırt etmek için bir varsayılan değere sahip ekstra bir şablon parametresini kullanın:

var
template <int N, bool b = N <= 10> 
class Foo; 

template <int N> 
class Foo<N, true> { 
    ... // implementation for N <= 10 
}; 

template <int N> 
class Foo<N, false> { 
    ... // implementation for N > 10 
}; 
+0

bir 'std :: koşullu , FooBaseMore > :: türünün kullanılması akıllıca bir fikir –

+1

Bir temel sınıf olarak da çalışırdı. Ama bu çok daha temiz, +1. – Niall

+1

Teşekkür ederiz: 1. Mantıklı ve çok yararlı bir şekilde cevaplama, 2. “Neden bunu yapmak istesin?” Sorusunu sormuyorum. – user1387866

İlgili konular