Try this code https://gcc.godbolt.org/z/Mrb3WzMv7 If to write inline X<256> operator+(const X<256>&, const X<256>&) noexcept; then the error message is <source>:24: undefined reference to `S::operator+(S::X<256u> const&, S::X<256u> const&)' You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com