По номиналу это исключает такой код, если a.cpp, b.cpp и c.cpp были частью одной и той же программы:
a.cpp
Код: Выделить всё
class T{};
Код: Выделить всё
namespace N { class T{int i;}; }
Код: Выделить всё
void f() { class T{float f;}; }
декларативной области» (§6.4.10); но видимость здесь не проблема: имя T из a.cpp не отображается в b.cpp или c.cpp.
Подробнее здесь: https://stackoverflow.com/questions/798 ... aces-scope
Мобильная версия