Hi Everyone, I've got a problem with the g++ compiler (to be specific I've encountered that problem both on the GNU/Linux (Gentoo distribution) (gcc-4.1.2) and Microsoft Windows (XP SP2) platform (minigw32)).
The source code is listed below (you're also able to download it from this location: http://pablik.ic.cz/data/pokus2.cpp, at least until somebody won't delete it): #include <iostream> #include <vector> template<class T> T mmax(const T a,const T b){ return a<b?b:a; } template<class T> void app(std::vector<T> &v, T i){ v.push_back(i); } template<class T> bool comp(std::vector<T> &a, std::vector<T> &b){ return a[0]>b[0]; } template<class T> bool find0(const std::vector<T> &v){ for(std::vector<T>::const_iterator it=v.begin(); it!=v.end(); + +it){ if(!*it) return true; } return false; } int main(int argc, char* argv[]){ std::cout<< mmax(3.2,1.0) <<std::endl; std::vector<double> x; x.push_back(1.2); app(x,4.2); std::cout<< x[1] <<std::endl; std::vector<double> y; y.push_back(0.2); std::cout<< comp(x,y) <<std::endl; std::cout<< find0(x) <<std::endl; return 0; } I believe that the problem is in the definition of template function. When I try to compile a source code with g++/minigw32-g++ I obtain this output: $ g++ -Wall -pedantic pokus2.cpp pokus2.cpp: In function 'bool find0(const std::vector<T, std::allocator<_CharT> >&)': pokus2.cpp:17: error: expected `;' before 'it' pokus2.cpp:17: error: 'it' was not declared in this scope pokus2.cpp: In function 'bool find0(const std::vector<T, std::allocator<_CharT> >&) [with T = double]': pokus2.cpp:38: instantiated from here pokus2.cpp:17: error: dependent-name 'std::vector<T,std::allocator<_CharT> >::const_iterator' is parsed as a non-type, but instantiation yields a type pokus2.cpp:17: note: say 'typename std::vector<T,std::allocator<_CharT> >::const_iterator' if a type is meant I would gladly welcome your replies. Thank you _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus