title: error C2099: initializer is not a constant
body: <h3>Protocol.h</h3>
  
  <pre><code>typedef struct sDevice_d
  {
      char name[24];
      signed int (*Send)(unsigned char*, unsigned short);
      signed int (*Recv)(unsigned char*, unsigned short);
  } sDevice_d, *psDevice_d;
  </code></pre>
  
  <h3>Device.c</h3>
  
  <pre><code>#include "Protocol.h"
  
  sDevice_d sDevice = { "ten", I2c_Send };
  psDevice_d psDevice = &amp;sDevice;
  
  static signed int I2c_Send(unsigned char* buf, unsigned short len)
  {
      return 0;
  }
  </code></pre>
  
  <p>In the code above I am getting the following Error:</p>
  
  <blockquote>
    <p>error C2099: initializer is not a constant</p>
  </blockquote>
  
  <p>Please help me in resolving this.</p>
  
  <p>I am using Visual studio Win32 application.</p>