| 
 
Archives
 
D Programming 
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming 
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript  | 
c++ - Template specialization problem
 
The following code:-
#include <stdio.h>
template <int I, int J>
struct Iterate
{
    static void print()
    {
        printf("%d %d\n", I, J);
        Iterate<I, J + 1>::print();
    }
};
template <int I>
struct Iterate<I, I>
{
    static void print() {printf("%d %d\n", I, I);}
};
int main()
{
    Iterate<4, 1>::print();
}
when compiled with dmc produces the output:-
1 1
when I was expecting to see
4 1
4 2
4 3
4 4
Does anybody know what the problem is?
Regards,
John
 May 13 2004
 
 |