首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KDTree模板类声明

KDTree模板类声明
EN

Stack Overflow用户
提问于 2011-11-18 04:47:09
回答 1查看 237关注 0票数 1

以下类从g++返回以下错误:

tree.h:9:错误:“模板”之前的预期不合格id

如果第5行未注释,则会发生相同的错误,仅在第5行发生。

我是不是错过了一个明显的语法错误,因为我盯着这个太久了?还是我不正确地声明了模板类?

代码语言:javascript
复制
#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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-18 04:55:40

您的模板代码是正确的,但是前面的代码(可能在另一个标题中)不是。检查以确保您在其他标题中的类定义后面有分号。

代码语言:javascript
复制
class x // no semi-colon here causes same error!

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

int main() {
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8177894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档