title: Why is Visual C++ changing the name of my method?
body: <p>I have a problem with the following code:</p>
  
  <pre><code>class MainWindow
  {
  ...
  private:
  bool CreateWindow(std::string, int, int, int, bool);
  ...
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>bool MainWindow::CreateWindow(std::string title, int width, int height, 
  int bits, bool fullscreen)
  {
  ...
  </code></pre>
  
  <p>Visual Studio highlights the method definition with the following error:</p>
  
  <pre><code>int reateWindow(std::string title, int width, int height, int bits, bool fullscreen)
  Error: class "MainWindow" has no member called "CreateWindowExW"
  </code></pre>
  
  <p>and the compiler outputs the following:</p>
  
  <pre><code>warning C4003: not enough actual parameters for macro 'CreateWindowW'
  error C2039: 'CreateWindowExW' : is not a member of 'MainWindow'
  </code></pre>
  
  <p>I noticed that if I change the method name to something else, that does not begin with a capital C, the error goes away. I'm new to Windows development. What gives?</p>