ciao.
parto da un esempio:
codice:
#pragma once
#include <vector>
#include <string>
#include "wm4matrix4.h"
#include "BaseObject.h"
class CNodeBase : public CBaseObject
{
public:
CNodeBase(void);
virtual ~CNodeBase(void);
virtual void Remove(const CNodeBase& pNode){};
virtual void Insert(CNodeBase* pNode){};
virtual CNodeBase* GetAt(int pos){return NULL;};
virtual void SetParent(CNodeBase* pNode){};
virtual Wm4::Matrix4f* GetmatrixT(){return NULL;};
virtual void SetMatrixT(Wm4::Matrix4f* pMatrix){};
virtual void SetMatrixT(double pMatrix[16]){};
std::string m_strName;
};
namespace Wm4
{
typedef Pointer<CNodeBase> CNodeBasePtr;
}
vorrei inserire come parametro di SetParent (CNodeBase* pNode){}; uno smartpointer di tipo CNodeBasePtr , solo che a quel punto la visibilità non c'è per lo smart pointer che è dichiarato piiu' in basso e se lo metto prima non ha senso perchè non è stata dichiarata la classe!
come posso fare?
grazie.