簡體   English   中英

沒有匹配函數來調用C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM