Как в C++ избежать ошибки redefinition of 'Class3' в файле module.mm
// module.mm
#include "module1.h"
#include "module2.h"
Class1::init();
Class2::init();
Class3::init();
module1.h экспортирует Class1, Class3
module2.h экспортирует Class2, Class3
Менять содержимое module1.h и module2.h мы не можем и нам нужно использовать Class3 только из module2.h
В module1.h и module2.h может быть определено куча классов, нам по-сути нужно исключить определение Class3 из module1.h для нашего module.mm