我有三个类,所有这些类都来自不同的命名空间,如下所示:
classA.h
namespace outer
{
namespace inner
{
class ClassA
{
....
};
}
}
Run Code Online (Sandbox Code Playgroud)
classB.h
namespace inner
{
class ClassB
{
...
};
}
Run Code Online (Sandbox Code Playgroud)
classC.h
#include <classB.h>
namespace outer
{
namespace inner2
{
using inner::ClassB; // error here, says outer::inner2::ClassB has not been declared.
class ClassC
{
....
};
}
}
Run Code Online (Sandbox Code Playgroud)
我被困在这,请帮我解决这个问题.
你需要
using ::inner::ClassB;
Run Code Online (Sandbox Code Playgroud)
因为在namespace outer,您有2个选项inner
::inner - 全局命名空间::outer::inner- outer命名空间默认情况下,using inner::ClassB;会尝试导入ClassB的outer::inner.
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |