Author: Daniel Clausen
Date: 06:42:08 11/24/03
Go up one level in this thread
On November 24, 2003 at 09:31:34, Steffen Jakob wrote: >On November 24, 2003 at 08:52:13, Daniel Clausen wrote: > >>On November 24, 2003 at 08:39:31, Reinhard Scharnagl wrote: >> >>[snip] >> >>>I thought on using templates, but they (as far as I know) are fine to >>>implement same algorithms to different types. But what I want to have >>>is to implement (nearly equal) algorithms for the same type using two >>>different names. >> >>The formal parameter of a template can either be a type parameter (like int, >>float, class XY, etc) or a constant expression. The example below illustrates >>the 2nd case: >> >> >>#include <iostream> >> >>template <int colour> void print(void) >>{ >> std::cout << colour << std::endl; >>} >> >>int main(void) >>{ >> print<0>(); >> print<1>(); >> >> return 0; >>} > >I use this approach to write color independent code in Hossa which works fine. >You have to be careful though because Visual C++ 6 generates wrong code for >integer template parameters. If I remember write (I cannot try it out now >because I am sitting in Graz waiting for the start of the 4th round) it would >create the output > >0 >0 > >in your example. I just tried it with VC++6 and its output is 1 1 So it's wrong, as you predicted. The code seems to be correct (and produces the expected result with gcc), so is there a way that VC++ handles that correctly too? Sargon
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.