到目前为止,我在DecisionTree.h
文件中的所有内容都是错误:预期声明
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
,Visual Studio已经突出显示public
并说
Error: expected a declaration.
我缺少什么?
到目前为止,我在DecisionTree.h
文件中的所有内容都是错误:预期声明
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
,Visual Studio已经突出显示public
并说
Error: expected a declaration.
我缺少什么?
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;
};
它肯定会给一个错误,因为你力所声明的类,结构或枚举和直接,你已经写了一个命名空间中的静态函数。所以,首先在一个名字空间里写一个类定义,然后再写一个函数。
Duh。我是个白痴。谢谢。 – Daniel
@Daniel,当使用访问说明符进行继承时,您不需要':'。您可能还想了解'class'和'struct'的默认访问说明符分别是'private'和'public'(与Java中的默认范围不同)。 – iammilind
如果我不想把这个功能放在课堂上?我该怎么写呢? – STF