aaaa0ggMC 2021-08-11 13:27 采纳率: 62.5%
浏览 15
已结题

C++ mingw gcc单文件多命名空间的问题

这个问题其实不大,就是我在开发一个东西时,在一个util文件(ctool.h)中定义了2个namespace(互相独立,不包含),然后在ctool.cpp中using这两个namespace,代码缩写如下.

//ctool.h
#ifndef CTOOL_INC
#define CTOOL_INC
 namespace a{
   void b();
  class Cs{
    public:
    void a();
  }
}
namespace d{
  void d();
}
#endif
//ctool.cpp
#include "ctool.h"

using namespace a;
using namespace c;

void b(){}

void d(){}

void Cs::a(){

}
//main.cpp
#include "ctool.h"

int main(){
  a::b();//1
  a::Cs cs;//2
  cs.a();//3
  c::d();//4
  return 0;
}

在main.cpp中,只有2与3没报错,不在类里的函数全报错了,说没有引用,但是如果只有一个namespace却不会报这种错,请问这有什么依据吗,还是MinGW就是这么得玄?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月19日
    • 创建了问题 8月11日

    悬赏问题

    • ¥30 STM32 INMP441无法读取数据
    • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
    • ¥15 用visualstudio2022创建vue项目后无法启动
    • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
    • ¥500 把面具戴到人脸上,请大家贡献智慧
    • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
    • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
    • ¥30 c#打开word开启修订并实时显示批注
    • ¥15 如何解决ldsc的这条报错/index error
    • ¥15 VS2022+WDK驱动开发环境