[英]No Matching function to call C++
我有2個類TreeManager和TreeProducerBase。 從TreeManagerconstructor將TTree對象(該類是用於創建樹的類)傳遞給TreeProducerBase中的函數時遇到錯誤。 注意:我將樹定義為
TTree *tree_
函數調用:
tpb.initialize(&tree_);
在此,tpb是TreeproducerBase類的對象。
這是被調用的函數。
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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.