SmileStorm 2013-01-22 02:53 采纳率: 100%
浏览 2450
已采纳

在想能不能把c++命名空间的名称开成数组型

最近比较困扰一个问题 就是在能不能把命名空间的名字开成数组型
比如说我定义了两个命名空间 namespace solar0 和 namespace solar1
然后在一个函数中使用 比如说在函数 void system(int k) 中选择性使用

比如

void system(int k)
{
    if(k==0) using namespace solar0;
    if(k==1) using namespace solar1;
    .........
}

但是我一旦用if 编译器就给我报错 说下面的对象未定义(下面的对象我在命名空间里定义了)
然后我就想啊,能不能把solar开成数组 变成solar[2] 就是不会搞
比如

void system(int k)
{
    using namespace solar[k];
    .........
}

再一次失败..

而且我也不知道 这个名字solar是一个什么类型,指针也没法指
有考虑过用 #define solar(k) solar##k 结果编译的时候变成solark了
不是想要的:当k=0时候出现solar0
于是就纠结了....
各位大侠们求帮助啊.... 小弟在读高三..

  • 写回答

5条回答

  • Paron717 2013-01-22 04:58
    关注
    #include <iostream>
    namespace myspace1
    {
        int bj=15;
    }
    namespace myspace2
    {
        int i=20;
    }
    #define paster( n ) using namespace myspace##n
    
    int main()
    {
            paster( 1 );
            std::cout<<bj<<std::endl;
        return 0;
    }
    

    我在VS2010上可以运行啊...

    但是不知道你为什么你要以这种方式用命名空间...很容易混淆的...然后就空间污染了...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型