到目前爲止,我在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