记录一个坑
工程中在两个子工程文件目录内用到了相同的文件,类似这样
-main.cpp
-mainwindow.cpp
--PolarView
-color.h
-color.cpp
--Panograma
-color.h
-color.cpp
然后两个文件夹内的color内容不尽相同,集成到主工程时,命名冲突肯定不行啊,就想到了namespace,然后给两个color装进两个namespace名字中,命名空间的定义调用都是对的,就是一直报错。最后把命名改了,命名空间去掉了还是报错,最后发现是头文件上边的宏没改,靠!
#ifndef COLOR_H
#define COLOR_H
所以在头文件展开时压根就没展开对,还上哪找另一个命名空间呢。所以类名相同可以用命名空间区分,文件名就别再相同了包括头文件的宏。