Thanks a ton everyone! All responses have been great highlighting various facts hidden in the problem. I thank for the advice that name shall be modified to Vector as we cannot compare Point of one dimension to the Point of different dimensions.
And also, the analysis that unfolds p1 and p2 are two different types generalized by declaration of variadic class template.
Many thanks for the solution. Does the following method iteratively call the default version to resolve the problem part by part?
template <numeric ... Ts>
auto operator<=>(const Point<Ts...> &) const
{
return sizeof...(Args) <=> sizeof...(Ts);
}