【发布时间】:2012-05-09 15:23:21
【问题描述】:
如何在 C++ 中使用可在不同头文件中访问的命名空间。假设我在下面有这个:
// namespaces
#include <iostream>
using namespace std;
namespace first
{
int var = 5;
}
namespace second
{
double var = 3.1416;
}
int main () {
cout << first::var << endl;
cout << second::var << endl;
return 0;
}
我想在另一个类的第一个命名空间中使用 var 变量...在另一个 .h 和 .cpp 文件中定义和实现?
//server.h
#ifndef SERVER_H
#define SERVER_H
class server{
server();
//blah
};
#endif SERVER_H
//server.cpp
server::server()
{
first::var = 3;
}
这样可以吗?当我尝试时,我收到一个错误,指出我的命名空间未定义。如果我将 using namespace first 放在 .h 或 .cpp 中,它会说没有名为 first 的命名空间...
【问题讨论】:
-
您可能应该将这些命名空间放在头文件中,并将其包含在您需要的地方。
-
不要这样做!为什么你在 1 天后彻底改变了这个问题?问一个新问题。
标签: c++ namespaces