例如,我有一个类:
class A { enum {N = 5}; double mVariable; template<class T,int i> void f(T& t) { g(mVariable); // call some function using mVariable. f<T,i+1>(t); // go to next loop } template<class T> void f<T,N>(T& t) {} // stop loop when hit N. };
我略微改变了阿恩·默兹的例子,就像:
template<int n> struct A { enum {N = n}; ... };
并使用A like:
A<5> a;