Я пытаюсь использовать сторонний SDK в некотором коде на C++. Хотя SDK и заголовки технически совместимы с C++, это на самом деле просто кусок неприятного C.Как бороться с файлами заголовков daft
В частности, в файлах основного заголовка имеется много сотен #define, из которых они хуже всего.
#define C 0 //Celsius
#define F 1 //Fahrenheit
#define R 2 // Rankine
#define K 3 // Kelvin
Теперь вы можете себе представить, что приятны сообщения об ошибках я получаю при попытке использовать подталкивание библиотеку, которые имеют подобные вещи в них:
template< typename F > struct template_arity;
Несколько тактических #undefs могут все исправить, но это все еще чувствует себя как тикающая бомба. Я мог бы альтернативно переписать большие части стороннего заголовка или просто попробовать и изолировать разделы, которые мне действительно нужны.
Есть ли лучшее решение этой проблемы?
+1 для ... вау – Thanatos 2010-12-03 16:30:38
Вы в основном ввинчивается – 2010-12-03 16:36:22