错误:预期声明

Dan*_*iel 5 c++ compiler-errors access-specifier

到目前为止,我在DecisionTree.h文件中的所有内容都是

namespace DecisionTree
{
     public static double Entropy(int pos, int neg);
}
Run Code Online (Sandbox Code Playgroud)

而Visual Studio已经突出public并强调了这一点

错误:预期声明.

我错过了什么?

iam*_*ind 8

public是一个访问说明符.访问说明符仅适用于class/struct正文而非内部namespace.在C++中(与Java不同)它必须:class正文中跟随冒号.

例如,

class DecisionTree {  // <----- 'class' (not 'namespace')
public:  // <------ access specifier
  static double Entropy (int pos, int neg);
private:
  int i;
};
Run Code Online (Sandbox Code Playgroud)