【发布时间】:2013-01-15 21:48:42
【问题描述】:
我在我的项目中定义了一个 Vector2 类
class Vector2
{
public:
Vector2();
~Vector2();
protected:
float mX;
float mY;
}
我开始使用一个名为SFML的库
除其他外,它还为我处理绘制形状和图像。
SFML defines it's own Vector2 类。显然,这会导致一些命名空间问题。以下是我的解决方法:
// Using an SFML Vector2
sf::Vector2 sfmlVector;
// Using my Vector2
::Vector2 myVector;
我希望“Vector2”始终被假定为我的 vector2,而“sf::Vector2”始终是 SFML 的 vector2,而不是必须将命名空间放入我的 vector2 或使用更混乱的全局 :: 命名空间。
这个可以吗?
【问题讨论】:
-
如果你想要这种行为,不要
using namespace sf。 -
我也会把你的类放在一个命名空间中。
标签: c++ class namespaces sfml