English 中文(简体)
KDTree 晚期班级宣言
原标题:Templated Class Declaration for KDTree

The following class returns the following error from g++:

树:9:错误:在模板前预计无保留性补贴

如果第5行未对,则发生同样的错误,只有第5行。

Am I missing an obvious syntax error here from staring at this too long? Or am I improperly declaring the template class?

#ifndef TREE_H
#define TREE_H


//template <typename T, typename P, typename C> class kdtree_t;

//Kdtree class

template <typename T, typename P, typename C> 
class kdtree_t{
private:
    struct node_t
    {
        P  data;
        T  min, max;
        node_t *left, *right;
        int axis;

        node_t(const P& d = 0, const T& in = 0, 
               const T& ix = 0, node_t *l = NULL, 
               node_t * r = NULL, int a = 0)
         : data(d), min(in), max(ix), 
           left(l), right(r), axis(a) {}
    };
public:
    void nn(T& q,  P& t, double radius)
    {
        nn(root, q, t, radius);
    } 

    void insert(std::vector<P>& x, const T& min, const T& max)
    {
        root = insert(root, x, min, max, 0);
    } 

    void knn(T& q, std::vector<P> vec, double r, int k)
    {
        knn(root, q, vec, r, k);
    } 

    void range(T& min, T& max, std::vector<P> irange)
    {
        this->range(root, min, max, irange);
    }

    void clear()
    {
        clear(root);
    }

private:

    void            nn(node_t* &,T&,P&,double&);
    void            knn(node_t* &,T&,std::vector<P>&,double&,int);
    void            range(node_t* &,const T&,const T&,std::vector<P>&);

    void            clear(node_t* &);
    node_t*         clone(node_t* ) const;

    node_t* root;
    node_t* insert(node_t * &, std::vector<P>&, const T&, const T&, int);

};

#endif
最佳回答

你的重新模板代码是正确的,但摆在它面前的守则(如另一个标题)并不正确。 检查一下,以确保你在其他头脑中的班级定义在后有半殖民地。

class x // no semi-colon here causes same error!

template <typename T, typename P, typename C>
};

int main() {
}
问题回答

暂无回答




相关问题
Undefined reference

I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...

C++ Equivalent of Tidy

Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...

Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

typedef ing STL wstring

Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

Window iconification status via Xlib

Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?

热门标签