我需要创建指向对象的指针作为类成员并添加一个函数。该对象存储在名称空间中。所以在我的班上:
//filename theObject.h
namespace namespaceA{
namespace namespaceB{
class theObject
{
//content
};
}
}
//filename myClass.h
#include "theObject.h"
namespace namespaceA{
namespace otherNamespace{
class myClass
{
//other members and functions
void function(namespaceA::namespaceB::theObject* arg);
namespaceA::namespaceB::theObject* m_obj;
};
}
}
结果 - 编译错误: 错误C3083:'namespaceB':'::'左边的符号必须是一个类型 错误C2039:'theObject':不是'namespaceA
的成员看起来myObject在myClass.h中不可见。我添加了
using namespace namespaceA::namespaceB;
只是为了检查 - 我也不可见。 我从myClass中删除了新数据并创建了全局函数:
void function(namespaceA::namespaceB::theObject* arg)
{
}
在myClass.cpp中(仅包含myClass.h)。结果 - 没有错误。我错过了什么吗?