到目前为止,我的DecisionTree.h
文件中只有
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
并且 Visual Studio 已经在强调public
和说
错误:需要声明。
我错过了什么?
到目前为止,我的DecisionTree.h
文件中只有
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
并且 Visual Studio 已经在强调public
和说
错误:需要声明。
我错过了什么?
public
是访问说明符。访问说明符仅适用于class/struct
body 而不是 inside namespace
。:
在 C++ 中(与 Java 不同),它必须在class
正文中后跟一个冒号。
例如,
class DecisionTree { // <----- 'class' (not 'namespace')
public: // <------ access specifier
static double Entropy (int pos, int neg);
private:
int i;
};
它肯定会出错,因为您声明了任何类、结构或枚举,并且您直接在命名空间内编写了一个静态函数。因此,首先在命名空间中编写一个类定义,然后编写一个函数。