1.引用库头文件后,立即undef类型,适用于define/typedef定义的类型。
u1.h
#include <string>
#define WORD std::string
WORD fun(WORD &str) {
return str + " world";
}
u2.h
typedef unsigned short WORD;
WORD u2fun(){
WORD i = 2;
return i;
}
test.cpp
//#define WORD WORD_U2
#include "u2.h"
#undef WORD
//#define WORD WORD_U1
#include "u1.h"
#undef WORD
class he__ {
public:
std::string h;
};
#include <iostream>
int main(){
std::string s= "hello";
std::cout << fun(s) << std::endl;
std::cout << u2fun() << std::endl;
}