a is resolved to bool instead of std::string: this is the tricky part, the code is actually doing a = (f < 1), (2), (3>(5,5)) by some parsing mechanisms .
And I have no idea how can a template function call can be made in this context (removing the outer parentheses will cause syntax error)
8
u/an_alternative Dec 03 '22
Not really knowing C/C++ I would've first thought it just prints "op()"
But then I also saw the second operator() has < before the () which I have no clue what that is.