这个问题其实不大,就是我在开发一个东西时,在一个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就是这么得玄?