Encaminhar declaração de uma classe aninhada

Eu estou tentando encaminhar delcare esta classe aninhada, eu já tentei, mas eu não funcionava. Quando eu tento encaminhar declarar eu recebo não consigo erros de membros privados, então eu acho que estou fazendo algo errado.

#ifndef PLAYERHOLDER_H
#define PLAYERHOLDER_H

#include <QtCore>
#include <player.h>
#include <datasource.h>

class PLAYERHOLDER
{

private:
class CONTACTMODEL : public QAbstractTableModel
{
public:
    explicit CONTACTMODEL(PLAYERHOLDER* holder);

    int rowCount( const QModelIndex &parent ) const;
    int columnCount( const QModelIndex &parent ) const;
    QVariant data( const QModelIndex &index, int role ) const;
    QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
    void update();


private:
    static PLAYERHOLDER* m_playerHolder;
};

public:
static PLAYERHOLDER* getInstance();
void createPlayer(PLAYER *player);
void updatePlayer(int id);
void deletePlayer(int id);
PLAYER* findPlayer(int id);
void loadPlayers(int teamid);

QAbstractItemModel* model() ;

private:
PLAYERHOLDER();
static PLAYERHOLDER *thePlayerholder;
QHash<int, PLAYER*> playerlist;
DATASOURCE *datasource;
mutable CONTACTMODEL *m_model;
};

#endif // PLAYERHOLDER_H

Mas eu não sei como fazer isso, eu procurei por aí e ainda não sei :( É possível encaminhar declarar isso?

questionAnswers(1)

yourAnswerToTheQuestion