title: invalid conversion from 'long int' to 'void (*)()' [-fpermissive]
body: <p>Hi I am writing little modified code for the bootloader for MCU's. The modification I am trying to do is power the boot loader even for an watchdog timer reset. </p>
  
  <p>I am using this function prototype to define the address of the boot loader and I get the error : </p>
  
  <blockquote>
    <p>invalid conversion from 'long int' to 'void (*)()' [-fpermissive]</p>
  </blockquote>
  
  <p>My code is </p>
  
  <pre><code>#if defined ( __AVR_ATmega1284P__ )
      void (*boot_start)(void) = 0xF000;
  #elif defined ( __AVR_ATmega2560__ ) 
      void (*boot_start)(void) = 0x1F000;
  #endif
  </code></pre>
  
  <p>Where the 0xF000 and 0x1F000 are memory spaces. I don't get this error if my code is `</p>
  
  <pre><code>void (*boot_start)(void) = 0x0000;
  </code></pre>
  
  <p>Why ??</p>