From: Jon S. B. <js...@ha...> - 2006-02-27 13:19:26
|
> > Here's the offensive code in /usr/local/include/simgear/math/SGMisc.hxx > > > > === start === > > > > static T min(const T& a, const T& b) > > > > === end === > > > > The last line, above, is the culprit. As before, the errors are: > > > > SGMisc.hxx:28: error: expected unqualified-id before "const" > > SGMisc.hxx:28: error: expected `)' before "const" > > SGMisc.hxx:28: error: expected `)' before "const" > > > > The rest of the errors (lots of them), likewise involve "min". > > > > Jon > > > It is a handy and typesafe way to program a min or max function. > You know exactly what type the input arguments are and which the output > arguments are. > > ... > > What brakes, but that brakes anyway if you do includes in the > wrong order, is > that a prevously defined min/max macro will disturb the > declaration/implementation of the SGMisc min/max as it would > disturb that for > every other min/max declaration/implementation like the std::min/std::max > functions for example too. > > I bet that you defined such a macro and past that include SGMath.h > > Mathias I know what the min() template definition does - and it looks like a really good idea. However, the code from plib, simgear, and flightgear is all straight from CVS. I looked at the tests/ subdirectory and examined the headers. I renamed the JSBSim subdirectory. The test-up code still won't compile, and gives the same error. Again - this is straight from CVS. Some of the other code in test-up/ does compile. I'm working under CygWin, but I don't think this should have any effect. Jon |