
Hello, the following code does not compile with the last line in main(). The error message is main.cpp: In function 'int main()': main.cpp:37:8: error: 'boost::detail::operator_brackets_result<It, S, S&>::type' has no member named 'i' it[3].i = 0; ^ What could be the problem? #include <boost/iterator/iterator_facade.hpp> struct S { int i; float f; }; class It : public boost::iterator_facade<It, S, boost::random_access_traversal_tag> { private: friend class boost::iterator_core_access; static S s; reference dereference() const { return s; } bool equal(It const&) const { return true; } void increment() {} void decrement() {} void advance(difference_type n) {} difference_type distance_to(It const&) const { return 0; } }; int main() { It it; (*(it + 3)).i = 0; S& s = it[3]; s.i = 0; it[3].i = 0; } -- Sebastian Pfützner s.pfuetzner@onlinehome.de ICQ-ID: 39965036