id summary reporter owner description type status milestone component version severity resolution keywords cc 7358 typedef T in Comparison class clashes with template argument T in d_ary_heap Alex Hagen-Zanker timblechmann "The d_ary_heap does not compile (in VS2010) when the Comparison class contains a typedef T. The typedef takes prevalence over the template parameter T when the heap is derived from the Comparison class. I.e. the following pattern occurs: template struct heap_base : Cmp { typedef T value_type; // value_type = Cmp::T } See below for a complete failing example. This is a problem when Boost.Heap is used in combination with boost/pending/indirect_cmp.hpp. #include struct less { typedef int T; bool operator()(const int& a, const int& b) const { return a < b; } }; int main() { boost::heap::d_ary_heap, boost::heap::arity<4> > my_heap; return 0; } " Bugs closed To Be Determined heap Boost 1.52.0 Problem fixed indirect compare