大家好我有两个类都需要另外一个包括在内,我试图在Ah文件中包含B类标题,在Bh文件中包含A类标题,但由于循环包含,我得到了错误研究我已经找到了一个被称为前向声明的解决方案,但对我来说不起作用,这是我的实际情况:
// Game.h
#ifndef _GAME_H_
#define _GAME_H_
#ifndef _GRAPHICSDEVICE_H_
#include "GraphicsDevice.h"
#endif
using namespace BSGameFramework::Graphics;
namespace BSGameFramework
{
public ref class Game
{
public:
Game();
virtual ~Game();
property GraphicsDevice^ Device
{
GraphicsDevice^ get()
{
return device_;
}
}
// Other code here
private:
GraphicsDevice^ device_;
}
}
#endif
这是GraphicsDevice类:
// GraphicsDevice.h
#ifndef _GRAPHICSDEVICE_H_
#define _GRAPHICSDEVICE_H_
// forward declaration
ref class Game; // <-- this is giving me error C2872: 'Game' : ambiguous symbol
using namespace BSGameFramework;
namespace BSGameFramework
{
namespace Graphics
{
public ref class GraphicsDevice
{
public:
GraphicsDevice(); // I need to pass my Game class to the constructor
virtual ~GraphicsDevice();
// Here other code
}
}
}
是的,有人能帮帮我吗?我变得疯狂xD
解决
我已经解决了替换ref class Game的问题; with namespace BSGameFramework {ref class Game; }
答案 0 :(得分:0)
<强>解决强>
我已经解决了替换ref class Game的问题; with namespace BSGameFramework {ref class Game; }