0

我在程序中调用库“gum”的方法时遇到问题:

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);
  }
}

(请参阅评论中的错误消息。)

4

2 回答 2

2

大福是那个const (*DV) strDV是一个变量,您正试图将其用作类型名。也不是写(*myBayNet).add(str)更简单(和更短)的方法是写myBayNet->add(str).

于 2012-04-08T18:50:53.467 回答
1

您不是在调用方法,而是在定义它。但是,您不得在main()任何其他函数范围内定义成员函数。它们必须在命名空间范围内定义。

于 2012-04-08T18:49:05.073 回答