没有匹配函数来调用 C++
No Matching function to call C++
我有 2 个 classes TreeManager 和 TreeProducerBase。我在从 TreeManagerconstructor 将 TTree 对象(这是一个 class 来制作树)传递给 TreeProducerBase 中的函数时出错。
注意:我将树定义为
TTree *tree_
函数调用:
tpb.initialize(&tree_);
这里tpb是TreeproducerBase的一个对象class。
这是正在调用的函数。
void initialize(TTree &tree_)
显示错误如下:
error: no matching function for call to 'TreeProducerBase::initialize(TTree*&)'
我哪里做错了?
您正在尝试将指向指向 TTree 的指针传递给需要引用指向 TTree 的函数。尝试重新声明它
void initialize(TTree* &tree_);
调用看起来像
tpb.initialize(tree_);
然后你可以通过简单的赋值来初始化外部指针:
void initialize(TTree* &tree_) {
tree_ = new TTree(); // or smth else
}
我有 2 个 classes TreeManager 和 TreeProducerBase。我在从 TreeManagerconstructor 将 TTree 对象(这是一个 class 来制作树)传递给 TreeProducerBase 中的函数时出错。 注意:我将树定义为
TTree *tree_
函数调用:
tpb.initialize(&tree_);
这里tpb是TreeproducerBase的一个对象class。
这是正在调用的函数。
void initialize(TTree &tree_)
显示错误如下:
error: no matching function for call to 'TreeProducerBase::initialize(TTree*&)'
我哪里做错了?
您正在尝试将指向指向 TTree 的指针传递给需要引用指向 TTree 的函数。尝试重新声明它
void initialize(TTree* &tree_);
调用看起来像
tpb.initialize(tree_);
然后你可以通过简单的赋值来初始化外部指针:
void initialize(TTree* &tree_) {
tree_ = new TTree(); // or smth else
}