You can't define the function there, since at that point the compiler doesn't know that QstObjectPrivate inherits PrivateData you have to implement it at the end of the file:
...
class QstObject : public PublicInterface
{
public:
QstObject();
private:
inline QstObjectPrivate* data_pointer_test();
};
class QstObjectPrivate : public PrivateData
{
public:
QstObjectPrivate( PublicInterface *iface )
: PrivateData( iface )
{
}
};
QstObject::QstObject()
: PublicInterface( new QstObjectPrivate(this) )
{
}
QstObjectPrivate* QstObject::data_pointer_test()
{
return static_cast<QstObjectPrivate*>( _data );
}
...
...
class QstObject : public PublicInterface
{
public:
QstObject();
private:
inline QstObjectPrivate* data_pointer_test();
};
class QstObjectPrivate : public PrivateData
{
public:
QstObjectPrivate( PublicInterface *iface )
: PrivateData( iface )
{
}
};
QstObject::QstObject()
: PublicInterface( new QstObjectPrivate(this) )
{
}
QstObjectPrivate* QstObject::data_pointer_test()
{
return static_cast<QstObjectPrivate*>( _data );
}
...
To copy to clipboard, switch view to plain text mode
Bookmarks