Mon code fonctionnait correctement, jusqu'à ce que j'essaie d'envelopper toutes mes définitions de classe dans un espace de noms.Comment puis-je convertir mon programme pour utiliser les espaces de noms C++?
// "Player.h"
#include "PhysicsObject.h"
namespace MaelstromII
{
class Player : public MaelstromII::PhysicsObject
{
// ...
};
}
// "PhysicsObject.h"
#include "GameObject.h"
namespace MaelstromII
{
class PhysicsObject : public MaelstromII::GameObject
{
// ...
};
}
// "GameObject.h"
namespace MaelstromII
{
class GameObject
{
// ...
};
}
Quand je compile dans Visual Studio, je reçois un tas de ces erreurs:
erreur C2039: 'PhysicsObject': n'est pas membre du 'MaelstromII'
Il se plaint de GameObject
, aussi.
Est-ce que quelqu'un sait pourquoi c'est?
Lorsque vous êtes déjà dans le même espace de noms, vous pouvez simplement faire 'public PhysicsObject' à la place de' public MaelstromII :: PhysicsObject'. – GManNickG