包含的类 - 名称空间中的对象不是“可见的”

时间:2015-01-23 09:26:53

标签: c++ namespaces

我需要创建指向对象的指针作为类成员并添加一个函数。该对象存储在名称空间中。所以在我的班上:

//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)。结果 - 没有错误。我错过了什么吗?

0 个答案:

没有答案