2012-04-08 34 views
0

我有調用庫「口香糖」的方法在我的程序有問題:C++指針

gum::BayesNet<double> *myBayNet=new gum::BayesNet<double>; 
gum::DiscrereVariable* DV=new gum::DiscretizedVariable<double>; 
int main() 
{ 
    // error: invalid declaration 
    // of 'gum::BayesNet<duoble>::add' & //forbids declaration of 'DV' 
    unsigned int gum::BayesNet<duoble>::add(const (*DV) str) 
    { 
    return (*myBayNet).add(str); 
    } 
} 

(見註釋錯誤信息)

+1

...問題是...什麼? – 2012-04-08 18:46:41

+0

我真的希望這個錯誤不是雙拼拼寫錯誤......它是DOUBLE,不是DUOBLE – Castilho 2012-04-08 18:48:12

+0

@BrianKelly:錯誤信息在代碼中有一個推薦。 – sbi 2012-04-08 18:49:29

回答

1

你是不是調用一方法,你的定義爲吧。但是,您不能在main()或任何其他函數範圍內定義成員函數。它們必須在命名空間範圍內定義。

2

DAFUQ是const (*DV) strDV是一個變量,您試圖將其用作類型名稱。而不是寫作(*myBayNet).add(str)更簡單(和更短)的方式是寫myBayNet->add(str)