Unfortunately I didn't find my answer in questions with a similar name.
I'm trying to compile the POLE++ library along boost libraries using Visual Studio 2012. I have the following code: [filename: path.hpp from POLE++ library]
#include <boost/iterator/iterator_facade.hpp>
#include "pole/pole.h"
.
.
.
// iteration over the names in the path
class iterator : public boost::iterator_facade< iterator, std::string const, boost::bidirectional_traversal_tag >
{
.
.
.
private:
.
.
.
reference dereference() const { assert(m_pos < m_full_path.length()); return m_name; }
bool equal( const iterator& rhs ) const;
void increment();
void decrement();
static std::string first_name( const std::string& src );
std::string m_name; // cache current
.
.
.
};
And here are the errors I get:
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2146: syntax error : missing ';' before identifier 'dereference'
Both erros point to the line that starts with reference dereference() const ...
How can I resolve the errors?
Thanks in advance.