#include <cstddef>
#include <iostream>

struct foo_t
{
    template <std::size_t x, std::size_t y>
    std::size_t operator ()() const
    { return x * y; }
};

int main()
{
    foo_t foo;
    std::cout << foo.operator()<3, 5>() << '\n';
}