This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

error: #59: function call is not allowed in a constant expression

Hi,
I am trying to compile a example code from Atmel, which was written for Atmel Studio IDE, GCC or IAR compilers, and getting the following error:

error: #59: function call is not allowed in a constant expression

This is an similar example of the code:

const sam_abc xy_settings = {function_yz(), 111, 250 };

- sam_abc is a struct
- function_yz() is the function which causes the error

I am using µVision V4.54.0.0 (C Compiler: Armcc).

How could I solve this problem?
Can someone please help me. Thanks in advance.

Jan

Parents
  • Does the sam_abc structure contain a function pointer member? If so then I would suggest that function_yz() should actually be function_yz (or &function_yx) so that the structure contains the addresses of the function rather than attempting to call it.

Reply
  • Does the sam_abc structure contain a function pointer member? If so then I would suggest that function_yz() should actually be function_yz (or &function_yx) so that the structure contains the addresses of the function rather than attempting to call it.

Children