With:
- Ubuntu 8.04.1,
- gcc 4.2.3,
- libkdtree++-dev 0.2.1-1,
and this test one-liner:
#include <kdtree++/kdtree.hpp>
this is the compiler output:
$ g++ -Wall -Werror -pedantic test.cpp
In file included from test.cpp:1:
/usr/include/kdtree++/kdtree.hpp:75: error: declaration of ‘typedef typename
KDTree::_Alloc_base<_Val, _Alloc>::allocator_type KDTree::KDTree<__K, _Val,
_Acc, _Cmp, _Alloc>::allocator_type’
/usr/include/kdtree++/kdtree.hpp:73: error: conflicts with previous declaration
‘typedef _Alloc KDTree::KDTree<__K, _Val, _Acc, _Cmp, _Alloc>::allocator_type’
Checking the source code it is a simple mistake and the compiler error
is justified:
66 template <size_t const __K, typename _Val,
67 typename _Acc = _Bracket_accessor<_Val>,
68 typename _Cmp = std::less<typename _Acc::subvalue_type>,
69 typename _Alloc = std::allocator<_Node<_Val> > >
70 class KDTree : protected _Alloc_base<_Val, _Alloc>
71 {
72 protected:
73 typedef _Alloc allocator_type;
74 typedef _Alloc_base<_Val, _Alloc> _Base;
75 typedef typename _Base::allocator_type allocator_type;
Removing line 73 is enough to fix the bug.
--
libkdtree++-dev does not compile with g++-4.0
https://bugs.launchpad.net/bugs/105040
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs