Я просматривал код какого-то класса, который использовал, и наткнулся на такой код:
#ifdef SOME_OBSCURE_CONDITION
class A {
#elif
class A : public B {
#endif
Могут ли быть проблемы с таким кодом?
В частности, предположим, что файл x.cpp содержит y.h и z.h.
z.h и y.h включают a.h (который определяет класс A), но дополнительно y.h определяет SOME_OBSCURE_CONDITION. В этом случае два x противоречивых определения A не будут присутствовать в x.cpp?