title: C++ Builder E2303 Type name expected
body: <p>I am attempting to use the HP APDK with C++ Builder in RAD Studio XE5. I need to derive a class PlatformServices (or any name of my choosing) from HP's base class SystemServices. Here is my header PlatformServices.h:</p>
  
  <pre><code>/***************************************************************************\
      APDK Platform Services
  \***************************************************************************/
  
  #ifndef _H_PLATFORMSERVICES
  #define _H_PLATFORMSERVICES
  
  #include    "header.h"                          //  HP APDK General Header
  
  //  class SystemServices {
  //  };
  
  class PlatformServices : public SystemServices {
      ~PlatformServices ();
      PlatformServices ();
  };
  
  #endif
  </code></pre>
  
  <p>Compiled as-is, I get the error:</p>
  
  <pre><code>[bcc32 Error] PlatformServices.h(13): E2303 Type name expected
    Full parser context
      PlatformServices.cpp(5): #include PlatformServices.h
      PlatformServices.h(13): class PlatformServices
  </code></pre>
  
  <p>But if I comment out the #include and uncomment the definition for an empty class named SystemServices, the code compiles without error.</p>
  
  <p>I can preprocess the code as-is (in Project Manager, right click on PlatformServices and select Preprocess) and I can see that the #include defines a well formed SystemServices class.</p>
  
  <p>I've also disabled pre-compiled headers. </p>
  
  <p>This seems like a compiler error, but it's a poor workman who blames his tools. I just can't believe C++ Builder would choke on something this basic, yet I can't see what I'm doing wrong. Help!</p>
  
  <p>P.S. I've posted the full code and project files at: <a href="https://www.dropbox.com/s/sn1377y59r3idtz/apdk.zip" rel="nofollow">https://www.dropbox.com/s/sn1377y59r3idtz/apdk.zip</a></p>