Вы не можете добавлять имена в std
пространства имен. Единственное, что вы можете сделать, это добавить специализации. Если вы готовы игнорировать это (многие люди так делают!), Самым простым решением было бы добавить эту перегрузку в пространство имен std
.
Полностью совместимым решением было бы добавить перегрузку к одному из видимых пространств имен, и тогда, когда вы планируете вызвать одну из доступных pow
версий, сделайте это:
using std::pow;
pow(a, b);
Чем, если случится, что a и b относятся к типам, поддерживаемым std::pow
, он будет вызван, иначе ваша перегрузка будет.