
Stefan Seefeld wrote:
Mike Collier wrote:
The errors are the result of using single letters for variables or template types. The reason for the errors is in my compile environment ( electrical engineering related ) defines are used for the convenience of writing units in code. These defines exist in a vendor supplied header in my project:
#define A #define V #define W #define s #define S #define J
Sorry, but this is just bad coding practice. Instead of changing boost in order to accomodate for it, I suggest that you isolate the libraries from each other, by carefully undefining those single-letter macros prior to including boost.
Another solution might be simply changing include order, so that boost headers get included prior to the vendor-provided headers.
If something should use longer names, it's these macros in your library, not boost template parameters.
Since this library is not Mike's, I'd rather suggest reporting this issue to the library vendor.