DEK> Ilya, thanks VERY MUCH. This solved my problem in a flash. My DEK> application (38 thousand lines, compared to the 6 lines of my DEK> test-file) now compiles and links properly in g++-3, and, with a DEK> preprocessor switch, in g++-2 as well. In case other folks are DEK> interested, below is how I now do it (sorry that I test for __GNUC__; DEK> this code is meant to work for many other compilers as well) ...
DEK> #if defined(__GNUC__) DEK> #if __GNUC__ == 3 DEK> void DEK> std::reverse(std::vector<double>::iterator, std::vector<double>::iterator); DEK> #else DEK> template void DEK> std::reverse(std::vector<double>::iterator, std::vector<double>::iterator); DEK> #endif DEK> #endif Why use 'preprocessor switch'? AFAIK g++-2 should hanlde correct syntax too (without keyword 'template'). At least version 2.95.3 does compiles your example code with 'template' removed. Did you tried to compile your application with g++-2 with 'template' removed where it should be removed? If it will not compile and link I will be surprised. -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | Ilya Martynov (http://martynov.org/) | | GnuPG 1024D/323BDEE6 D7F7 561E 4C1D 8A15 8E80 E4AE BE1A 53EB 323B DEE6 | | AGAVA Software Company (http://www.agava.com/) | -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

