Je reçois l'erreur suivante lorsque je tente d'accéder à des bacs parlementaire de la classe GHistogram
à partir de la mise en œuvre extractHistogram()
:Pourquoi cette fonction ami n'a pas accès à un membre privé de la classe?
error: 'QVector<double> MyNamespace::GHistogram::bins' is private
error: within this context
Lorsque l'erreur « dans ce contexte » des points à la mise en œuvre extractHistogram()
. Est-ce que quelqu'un sait ce qui ne va pas avec ma déclaration de fonction ami?
Voici le code:
namespace MyNamespace{
class GHistogram
{
public:
GHistogram(qint32 numberOfBins);
qint32 getNumberOfBins();
/**
* Returns the frequency of the value i.
*/
double getValueAt(qint32 i);
friend GHistogram * MyNamespace::extractHistogram(GImage *image,
qint32 numberOfBins);
private:
QVector<double> bins;
};
GHistogram * extractHistogram(GImage * image,
qint32 numberOfBins);
} // End of MyNamespace
est 'Gbdi' une classe ou d'espace de noms? Vous avez 'Gbdi :: extractHistogram' comme ami. – quamrana
Désolé, remplacez Gbdi par MyNamespace. GBDI est le nom du groupe de recherche où je travaille ... –