I am seeing following syntax:
auto anonym1 = [] (float a, float b) { return max(a, b); };
auto anonym2 = [] (float a, float b) { return min(a, b); };
auto anonymSel = x > y ? +anonym1 : +anonym2;
If I have written above anonymSel as below, it also compiles with clang c++14.
auto anonymSel = x > y ? anonym1 : anonym2;
Note: x and y are float variables.
Code comment says, for Visual C++ compilation '+' is added. I want to understand what this '+' is doing here.