estoy recibiendo el siguiente error al intentar acceder a los contenedores miembro privado de la clase GHistogram
desde dentro de la aplicación extractHistogram()
:¿Por qué esta función amiga no puede acceder a un miembro privado de la clase?
error: 'QVector<double> MyNamespace::GHistogram::bins' is private
error: within this context
donde los puntos de la 'dentro de este contexto' error a la aplicación extractHistogram()
. ¿Alguien sabe qué pasa con la declaración de mi función amiga?
Aquí está el código:
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
es 'Gbdi' una clase o espacio de nombres? Tienes 'Gbdi :: extractHistogram' como amigo. – quamrana
Lo sentimos, reemplace Gbdi por MyNamespace. GBDI es el nombre del grupo de investigación donde trabajo ... –