gpt4 book ai didi

c++ - 如何将我的程序转换为使用 C++ 命名空间?

转载 作者:行者123 更新时间:2023-11-30 04:39:20 25 4
gpt4 key购买 nike

我的代码运行良好,直到我尝试将所有类定义包装在命名空间中。

// "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
{
// ...
};
}

当我在 Visual Studio 中编译时,我遇到了一堆这样的错误:

error C2039: 'PhysicsObject' : is not a member of 'MaelstromII'

它也提示 GameObject

谁知道这是为什么?

最佳答案

我不是 100%,但我认为你说的时候发生了什么

namespace Foo
{
class Bar : public Foo::BarBase {}
}

等同于:

class Foo::Bar : public Foo::Foo::BarBase {}

当您在命名空间中时,您无需使用命名空间::说明符来访问该命名空间中的其他内容。

关于c++ - 如何将我的程序转换为使用 C++ 命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com