错误:期望声明
Error: expected a declaration
到目前为止,我的DecisionTree.h
文件中只有
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
并且Visual Studio已经高亮显示了public
并显示
错误: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;
};
它肯定会给出一个错误,因为您没有声明任何类、结构体或枚举,而直接在名称空间内编写了静态函数。因此,首先在名称空间内编写类定义,然后编写函数。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 未在作用域中声明unordered_map
- C++避免重复声明的语法是什么
- 如何确保C++函数在定义之前声明(如override关键字)
- 错误:未在此范围内声明'reverse'
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 为什么在定义函数之前先声明它
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- #ifdef和未声明的标识符
- 没有显式声明的int[]中的foreach
- 在基于范围的for循环中使用结构化绑定声明
- 在将变量声明为引用时,堆在释放后使用
- C++:无法访问声明的受保护成员
- 为什么我不能在一个类的不同行中声明和定义成员变量?
- 友元 LinkedQueue<T>;期望有声明
- C++”;期望声明”;
- 论据太少,期望发表声明
- 为什么Pascal Script期望在外部函数声明附近再加一个分号
- 错误:期望声明
- visual studio 2010 -智能感知:期望在c++中有一个声明