I managed to track the error to the following expression:
foo(static_cast<T>(a, b));
The closing bracket was in the wrong place. The correct statement should have been:
foo(static_cast<T>(a), b);
I have never seen static_cast used in form (a, b), or seen how it is described anywhere. What does it mean? The previous statement is back.
source share