классы одинаковы по имени и пространству имен. мудро, но существуют в разных каталогах базы кода и имеют разные функциональные возможности, они выглядят следующим образом:
core1/abc1.h:
Код: Выделить всё
namespace ns {
class abc {
....
std::map m;
};
}
Код: Выделить всё
namespace ns {
abc:~abc() {
};
}
Код: Выделить всё
namespace ns {
class abc {
std::unordered_map m;
};
}
Код: Выделить всё
namespace ns {
abc:~abc() {
};
}
Я вижу ошибку при использовании g++ и clang, мог бы это проблема с неопределенным поведением? или потенциально ошибка компоновщика? (линкер — золотой)
при создании имя символа для использования с компоновщиком принимается во внимание имя файла - или только пространство имен, класс, имена методов являются единственными факторами, принимаемыми во внимание?
Подробнее здесь: https://stackoverflow.com/questions/791 ... tion-fault
Мобильная версия