6

これまでのところ、DecisionTree.hファイルにあるのは

namespace DecisionTree
{
     public static double Entropy(int pos, int neg);
}

そしてVisual Studioはすでに強調表示されてpublicおり、言っています

エラー: 宣言が必要です。

私は何が欠けていますか?

4

2 に答える 2

9

publicアクセス指定子です。class/structアクセス指定子は、 body 内ではなく body内でのみ適用できますnamespace。C++ では (Java とは異なり)、本体:内でコロンが続く必要があります。class

例えば、

class DecisionTree {  // <----- 'class' (not 'namespace')
public:  // <------ access specifier
  static double Entropy (int pos, int neg);
private:
  int i;
};
于 2011-09-28T04:23:04.983 に答える
0

クラス、構造体、または列挙型を宣言し、名前空間内に静的関数を直接記述したため、間違いなくエラーが発生します。したがって、最初に名前空間内にクラス定義を記述し、次に関数を記述します。

于 2011-09-28T04:27:16.007 に答える