我最近访问了命名空间,因为我有一组函数/方法,但没有数据,所以逻辑上的方法是将它们放在命名空间中。(如果这个问题缺少任何东西,很抱歉)。
我有以下几点:
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,但它似乎使用了一个类,我想不使用类来实现它。
发布于 2013-03-19 02:13:45
这个问题已经过时一个小时了,所以我正在推广@Bo Persson的直观评论。
"math.h“也是一个C标准头。也许这就是编译器所包含的内容。
您可能正在使用Windows,其中Math.h和math.h描述相同的文件。
重命名您的文件,使其不具有与标准库头相同的名称,编译器将看到它。
https://stackoverflow.com/questions/15482692
复制相似问题