04-10-2022, 07:21 AM
(03-10-2022, 08:02 AM)Francois Wrote: Hi.
MISRA-C group will give you the final answer but, to me there are some things to change...
In your comment, your saying "function declaration". This is not correct as your implementation is a "pointer declaration"
Therefore the function definition could go wrong with the pointer (name) usage...
Maybe i'm wrong:
- if you have a good compiler/linker, it will identify the pointer declaration as the function prototype.
- if not, you will have a pointer not initialized with the function definition address. 2 objects with the same name...
leading to bad things when you will use the pointer...
Hi Francois,
no, there is no function pointer declaration shown in the sample code. Of cause it looks quite similar to a function pointer declaration but there is no * here.
Please check ISO/IEC 9899:TC3 chapter 6.9.1 Function definitions (https://www.open-std.org/jtc1/sc22/wg14/.../n1256.pdf), in the footnote 141 is an example for function declarations/definitions using typedefs.
In my example I would use a "my_callback_fct_t* p_callback" when using it as a function pointer.
kind regards
sowiso