title: Error C3867: function call missing argument list
body: <p>I'm trying to compile a code in Visual Studio, but I keep getting the following error:</p>
  
  <blockquote>
    <p>Error  4   error C3867: 'MindSet::Form1::handleDataValueFunc': function call missing argument list; use '&amp;MindSet::Form1::handleDataValueFunc' to create a pointer to member   c:\documents and settings\licap\desktop\mindset\mindset\mindset\Form1.h 122 1   MindSet</p>
  </blockquote>
  
  <p>This is my code</p>
  
  <pre><code>#pragma endregion
  void handleDataValueFunc(unsigned char extendedCodeLevel, unsigned char code,
      unsigned char valueLength, const unsigned char *value, void *customData)
  {
      FILE *arq1;
      FILE *arq2;
      FILE *arq3;
          arq1 = fopen("raw.txt","a");
          arq2 = fopen("atencao.txt","a");
          arq3 = fopen("meditacao.txt","a");
  
      if (extendedCodeLevel == 0 &amp;&amp; code == RAW_WAVE_CODE)
      {
          short rawValue = ((value[0] &lt;&lt; 8) &amp; 0xff00) | (0x00ff &amp; value[1]);
          printf("%d\n", rawValue);
          fprintf(arq1,"%d\n",rawValue);
      }
      if (extendedCodeLevel == 0 &amp;&amp; code == ATTENTION_LEVEL_CODE)
          {
              short attentionValue = (value[0] &amp; 0xFF);
              printf("%d\n", attentionValue);
              fprintf(arq2,"%d\n",attentionValue);
          }
      if (extendedCodeLevel == 0 &amp;&amp; code == MEDITATION_LEVEL_CODE)
          {
              short meditationValue = (value[0] &amp; 0xFF);
              printf("%d\n", meditationValue);
              fprintf(arq3,"%d\n",meditationValue);
          }
      fclose(arq1);
      fclose(arq2);
      fclose(arq3);
  }
  private: System::Void IniciarCaptura_Click(System::Object^  sender, System::EventArgs^  e) {
  
      SerialPort* port = new SerialPortW32();
  
      if (port-&gt;open())
      {
          /* Initialize ThinkGear stream parser */
          ThinkGearStreamParser parser;
          THINKGEAR_initParser(&amp;parser, PARSER_TYPE_PACKETS, handleDataValueFunc, NULL);
  
          unsigned char byteRead;
          for (int i = 0; i &lt; 100000; i++)
          {
              if (port-&gt;read(&amp;byteRead, 1) == 1)
              {
                  THINKGEAR_parseByte(&amp;parser, byteRead);
                  fflush(stdout);
              }
              else
              {
                  //cerr &lt;&lt; "Erro na leitura da porta" &lt;&lt; endl;
                  break;
              }
          }
  
          port-&gt;close();
      }
      else
      {
          //cout &lt;&lt; port-&gt;getErrorMessage() &lt;&lt; endl;
      }
      delete port;
      //return 0;
      }
  };
  </code></pre>
  
  <p>}</p>
  
  <p>I've already tried to add a "&amp;" before "handleDataValueFunc", but it only returns another error message. Can anybody help?</p>