我想在某些C++代码中使用第三方SDK。尽管SDK和头文件在技术上与C++兼容,但它实际上只是一小撮讨厌的C。如何处理daft头文件
特别是主头文件有数百个#define,其中这些文件是最差的。现在
#define C 0 //Celsius
#define F 1 //Fahrenheit
#define R 2 // Rankine
#define K 3 // Kelvin
,你能想象什么好看的错误消息我在尝试使用具有这样的事情在他们Boost库时:
template< typename F > struct template_arity;
一些战术#undefs可以解决的事情,但它仍然感觉像一个滴答作响的炸弹。我可以选择重写第三方头文件的大部分内容,也可以尝试隔离我真正需要的部分。
有没有更好的解决方案来解决这个问题?
+1 ...哇 – Thanatos 2010-12-03 16:30:38
你基本上拧 – 2010-12-03 16:36:22