A constant
0x1000
gets cast to a type:
(type)0x1000
The type is void (*)() — a pointer (asterisk) to a function which takes no parameters (empty parentheses on the right) (oops, see the comment by pmg) and returns no value (void on the left). Additional parens on the asterisk prevent associating it to void, which would incorrectly create a void * type here.
So after the cast you have a pointer to a parameter-less void function at the addres 0x1000:
(void (*)())0x1000
And that function...
((void (*)())0x1000)
gets called by adding an empty parameters list:
((void (*)())0x1000)();