I've noticed that this declaration involving a caret (^) character is pinned on the cdecl.org site at the top:
// "cast foo into block(int, long long) returning double"
(double (^)(int , long long ))foo
Can somebody explain what is the purpose of the caret character here? Is this really a valid character in C declarations, or is this a placeholder for something?