Hello Guys, 

I am developing some applications that extensively uses STL. I plan to use
the 
traits -> iterator_traits to get information about which type do I need to
return.
Unfortunately, I've been experienced some problems to use such
functionality.

This simple test code was extracted from the SGI-STL website, but oddly
enough it doesn't compile: 
#include 
#include 
#include 
#include 

template 
std::iterator_traits::value_type 
last_value(InputIterator first, InputIterator last) {
  std::iterator_traits::value_type result = *first;
  for (++first; first != last; ++first)
    result = *first;
  return result;
}    

using namespace std;

int main()
{
        std::vector teste(10);
        fill_n(teste.begin(),10,1.2);
        double result = last_value(teste.begin(),teste.end());
        return 0;
}

The error response is: 
argdeduction.cpp:8: error: expected constructor, destructor, or type
conversion before ‘last_value’
argdeduction.cpp: In function ‘int main()’:
argdeduction.cpp:21: error: ‘last_value’ was not declared in this scope

Hopefully,
Trincheira

--
View this message in context: 
http://www.nabble.com/GCC-FAIL-WITH-BASIC-STL-EXAMPLE-t1539517.html#a4182425
Sent from the gcc - Dev forum at Nabble.com.

Reply via email to