类型Scalar
在文件type.h中的任何命名空间之外声明:
typedef float Scalar;
我想在hello.h文件的名称空间
Hello
中重新声明此类型:namespace Hello
{
// definition of a type Hello::Scalar
// that refers to the Scalar in type.h
}
这样,在名称空间
Hello
中的任何地方,类型Hello::Scalar
均指hello.h中声明的那个,后者指的是type.h(即Scalar
)中声明的float
。如何实现是通过确保:
第一个
Scalar
不在任何命名空间中Scalar
和Hello::Scalar
具有相同的“名称”“标量”我尝试了一些typedef或使用没有任何结果的关键字...
最佳答案
namespace Hello {
typedef ::Scalar Scalar;
}
应该可以。
关于c++ - 在C++中的 namespace 内重新声明全局类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42450691/