我最近访问名称空间,因为我有一组函数/方法但没有数据,所以合乎逻辑的方法是将它们放在名称空间中。 (对不起,如果这个问题没有任何内容)。
我有以下内容:
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
我可能错过了一些非常简单的东西,但是,我似乎无法弄明白。
我试过阅读以下内容:Here但似乎这使用了一个类,我想在不使用类的情况下完成它。
答案 0 :(得分:4)
这个问题已经过时了一个小时,所以我正在推广@Bo Persson的直观评论。
“math.h”也是C标准头。也许这就是编译器所包含的内容。
您可能正在使用Windows,其中Math.h
和math.h
描述了相同的文件。
重命名您的文件,使其与标准库标题名称不同,编译器将会看到它。