In a C++ template with the generic type T, I can use
const T &
to get a reference to a constant T. However, if now T itself is a reference
Remove the reference:
template void Test(const typename std::remove_reference::type & param) { param = 20; }
Now it works as expected.