到目前为止,我在DecisionTree.h
文件中的所有内容都是
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
并且Visual Studio已经突出显示public
并说
错误:预期声明。
我错过了什么?
答案 0 :(得分: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;
};
答案 1 :(得分:0)
它肯定会给出一个错误,因为你dint声明了任何类,结构或枚举,并且你直接在命名空间中编写了一个静态函数。因此,首先在命名空间内编写一个类定义,然后编写一个函数。