Jusqu'à présent tout ce que j'ai dans mon DecisionTree.h
fichier est
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
et Visual Studio est déjà en soulignant la public
et dire
Erreur: attendu une déclaration.
Ce qui me manque?
OriginalL'auteur Daniel | 2011-09-28
public
est un spécificateur d'accès. Spécificateurs d'accès ne sont applicables que surclass/struct
corps et non à l'intérieur denamespace
. En C++ (contrairement à Java), il doit être suivi par un colon:
à l'intérieur de laclass
corps.Par exemple,
aussi lors de l'utilisation de l'accès rédacteur de devis pour l'héritage que vous n'avez pas besoin
:
. Vous pouvez également apprendre à propos de défaut spécificateurs d'accès pourclass
etstruct
sontprivate
etpublic
respectivement (à la différence de l'étendue par défaut en Java).Si je ne veux pas mettre la fonction dans une classe? comment dois-je l'écrire?
dans de tels cas, vous risquez de mettre cette fonction simplement dans un espace ouvert (c'est à dire moins pas de portée) OU de le mettre à l'intérieur d'un
namespace
comme suggéré dans le Qn. Mais vous ne pouvez pas avoir accès au rédacteur associé avec elle une fois que la fonction est en dehors de la classe.OriginalL'auteur iammilind
Il va certainement donner une erreur, pour vous dint déclaré class,struct ou enum et directement vous avez écrit une fonction statique à l'intérieur d'un espace de noms. Donc, d'abord écrire une définition de classe à l'intérieur d'un espace de noms, puis une fonction.
OriginalL'auteur Sai Kalyan Kumar Akshinthala