Код: Выделить всё
namespace foo {
struct x{ unsigned long long i; };
namespace literals {
constexpr foo::x operator""_x(unsigned long long i) { return { i }; }
}
}
namespace bar {
struct x{ unsigned long long i; };
namespace literals {
constexpr bar::x operator""_x(unsigned long long i) { return { i }; }
}
}
< /code>
Есть ли какой -то способ использовать оба в одном и том же прицеле без двусмысленности? Для всех других функций я могу просто использовать полностью квалифицированные имена: < /p>
std::vector v = {
{ foo::x{ 3 }, bar::x{ 14 } },
};
Код: Выделить всё
namespace f = foo::literals;
namespace b = bar::literals;
std::vector v = {
{ 3f::_x, 14b::_x },
};
Подробнее здесь: https://stackoverflow.com/questions/795 ... iguous-udl