This content has been marked as final. Show 2 replies
The problem looks like a bug in the compiler. If you have an Oracle service contract, please file a bug report via your support channel. You will be kept informed about progress, the support personnel will try to find a workaround for you, and you will have early access to a patch that fixes the problem.
Otherwise, you can file a bug report on c++/compiler at http://bugs.sun.com
We'll try to fix the bug in the next compiler release. There is no way to attach files to the bug report, but you can provide a pointer to the same zip file you referenced here.
I thinks this is because of wrong <tt>HashTable::Iterator definition</tt>
You missed <tt>Category</tt> parameter of <tt>std::iterator</tt>, its declaration reads:
class Iterator : public std::iterator <T, difference_type>
Here, <tt>T</tt> is taken as category and <tt>difference_type</tt> (which is integer) as the value type (<tt>T</tt>)
template<class Category, class T, class Distance = ptrdiff_t, class Pointer = T*, class Reference = T&> struct iterator;
simply change to
class Iterator : public std::iterator<std::forward_iterator_tag, T, difference_type>