problème de passation d'attribut
Bonsoir,
j'ai un problème, en écrivant ce code :
dans une classe j'ai entré ceçi :
Code:
1 2
| BspApplication::BspApplication(p_SceneManager);
BspApplication::createScene(p_Camera,p_SceneManager); |
voilà l'erreur que le compileur me donne :
C:\*\Client.cpp: In member function `virtual bool Client::setup()':
C:\*\Client.cpp:228: error: no matching function for call to `BspApplication::createScene(Ogre::Camera*&, BspApplication&)'
C:\*\Environment.h:64: note: candidates are: void BspApplication::createScene(Ogre::Camera*, Ogre::SceneManager*)
je peux pour résoudre ce problème fusionner les deux méthodes (le constructeur de BspApplication avec createScene) dans quel cas je remplace le code çi-dessus s'écrit :
Code:
BspApplication::BspApplication(p_SceneManager,p_Camera);
tout se passe impec.
je mets ici le code de la classe qui pose problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
class BspApplication
{
public:
BspApplication(Ogre::SceneManager*mSceneMgr = 0)
{
setupResources();
loadResources(mSceneMgr);
}
protected:
String mQuakePk3;
String mQuakeLevel;
void loadResources(Ogre::SceneManager*mSceneMgr = 0)
{
ResourceGroupManager::getSingleton().linkWorldGeometryToResourceGroup(ResourceGroupManager::getSingleton().getWorldResourceGroupName(),mQuakeLevel, mSceneMgr);
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
ResourceGroupManager::getSingleton().loadResourceGroup(ResourceGroupManager::getSingleton().getWorldResourceGroupName(),false, true);
}
void setupResources(void)
{
ConfigFile cf;
cf.load("quake3settings.cfg");
mQuakePk3 = cf.getSetting("Pak0Location");
mQuakeLevel = cf.getSetting("Map");
ResourceGroupManager::getSingleton().addResourceLocation(mQuakePk3, "Zip", ResourceGroupManager::getSingleton().getWorldResourceGroupName(), true);
}
void createScene(Ogre::Camera* mCamera = 0,Ogre::SceneManager*mSceneMgr = 0)
{
mCamera->setNearClipDistance(4);
mCamera->setFarClipDistance(4000);
ViewPoint vp = mSceneMgr->getSuggestedViewpoint(true);
mCamera->setPosition(vp.position);
mCamera->pitch(Degree(90));
mCamera->rotate(vp.orientation);
mCamera->setFixedYawAxis(true, Vector3::UNIT_Z);
}
}; |
Je cherche à comprendre pourquoi j'ai cette erreur, je ne vois où je modifie le type de mon attribut p_SceneManager. Si quelqu'un pouvait m'éclairer...
Merci,