命名空间错误'Not a namespace-name'

namespace error 'Not a namespace-name'

本文关键字:namespace-name Not 错误 命名空间      更新时间:2023-10-16

我最近访问了名称空间,因为我有一组函数/方法,但没有数据,所以合乎逻辑的方法是将它们粘贴到名称空间中。(对不起,如果这个问题没有任何内容)。

我有以下内容:

Math.h

namespace Math {
   double Euclidean();
}

Math.cpp

#include "Math.h"
double Math::Euclidean() {
  // Implementation
}

在另一个命名空间中,我需要访问"Math"命名空间:

namespace foo {
     foo();
}

Foo.cpp

#include "Math.h"
#include "foo.h"
using namespace Math; 
foo::foo() {
  // use the math function
  Math::Euclidean();  

}

我得到错误:

Math’ is not a namespace-name

我可能错过了一些非常简单的东西,但是,我似乎无法弄清楚。

我试图阅读以下内容:在这里,但似乎这使用了一个类,我想在不使用类的情况下做到这一点。

这个问题已经过时一个小时了,所以我推荐@Bo Persson的直觉评论。

"math.h"也是一个C标准头文件。也许这就是编译器包含的内容。

您可能使用Windows,其中Math.hmath.h描述相同的文件。

重命名你的文件,这样它就不会和标准库头文件同名,编译器会看到它