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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to