typo in function pointer variable declaration, but code compiles
问题 While answering a question about function pointers, OP did that to declare a function pointer which takes 1 integer argument and returns nothing: void *(intr_handlerptr)(int); // wrong but compiles!! intr_handlerptr = intr_handler; // compiler error: cannot assign to this weird thing (lvalue required as left operand of assignment) when the proper declaration is void (*intr_handlerptr)(int); // correct What's funny is that the error occurs when assigning to this function pointer, not when