首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传递参数的g++问题

传递参数的g++问题
EN

Stack Overflow用户
提问于 2013-05-02 18:27:08
回答 2查看 96关注 0票数 1

请考虑以下部分代码:

代码语言:javascript
复制
//Tree.h
class Tree {

private:
    Limits joint_limits;

public:

    Tree();
    Tree(Configuration root, const Limits& _joint_limits);
    ~Tree();
//the rest of the class

第二个头文件:

代码语言:javascript
复制
//RRT.h
class RRT {
private:
    Tree roadmap;

public:
    ~RRT();
    RRT();
    RRT(Configuration _init_conf, Limits _joint_limits);
//the rest of the class

RRT构造函数中,我有下面这行代码:

代码语言:javascript
复制
RRT::RRT(Configuration _init_conf, Limits _joint_limits) {
    roadmap(init_conf, _joint_limits);
}

当我尝试编译它时,我遇到了以下错误:

代码语言:javascript
复制
no match for call to ‘(Tree) (Configuration&, Limits&)’

为什么g++认为我在RRT构造函数中发送引用,以及如何解决它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-02 18:40:16

在您的代码中,您试图调用一个名为roadmap或其operator ()的函数。

也许这是个错误。您可以这样做:

代码语言:javascript
复制
RRT::RRT(Configuration _init_conf, Limits _joint_limits) {
    roadmap = Tree(init_conf, _joint_limits);
}

代码语言:javascript
复制
RRT::RRT(Configuration _init_conf, Limits _joint_limits)
    : roadmap(init_conf, _joint_limits) {
}
票数 1
EN

Stack Overflow用户

发布于 2013-05-02 18:34:15

您正在调用roadmap,就好像它是一个函数或声明的operator()。要对其进行初始化,必须使用成员初始化器列表的语法:

代码语言:javascript
复制
RRT::RRT(Configuration _init_conf, Limits _joint_limits)
    : roadmap(init_conf, _joint_limits);
{
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16335708

复制
相关文章

相似问题

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