在C ++

时间:2017-02-25 00:58:34

标签: c++ namespaces typedef

在文件 type.h 中的任何命名空间之外声明类型Scalar

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 中声明的类型,它指的是在<}中声明的Scalar strong> type.h (float)。

如何实现是通过确保:

  • 第一个Scalar不在任何名称空间
  • ScalarHello::Scalar具有相同的“名称”' Scalar '

我尝试了 typedef 使用关键字而没有任何结果......

1 个答案:

答案 0 :(得分:1)

namespace Hello {

    typedef ::Scalar Scalar;
}

应该这样做。