6

到目前为止,我的DecisionTree.h文件中只有

namespace DecisionTree
{
     public static double Entropy(int pos, int neg);
}

并且 Visual Studio 已经在强调public和说

错误:需要声明。

我错过了什么?

4

2 回答 2

9

public是访问说明符。访问说明符仅适用于class/structbody 而不是 inside namespace:在 C++ 中(与 Java 不同),它必须在class正文中后跟一个冒号。

例如,

class DecisionTree {  // <----- 'class' (not 'namespace')
public:  // <------ access specifier
  static double Entropy (int pos, int neg);
private:
  int i;
};
于 2011-09-28T04:23:04.983 回答
0

它肯定会出错,因为您声明了任何类、结构或枚举,并且您直接在命名空间内编写了一个静态函数。因此,首先在命名空间中编写一个类定义,然后编写一个函数。

于 2011-09-28T04:27:16.007 回答