title: Visual C++ Automatically Appending A or W to end of Function
body: <p>In C++ I have defined a class that has this as a member:</p>
  
  <pre><code>static const std::basic_string&lt;TCHAR&gt; MyClass_;
  </code></pre>
  
  <p>There is also a getter function for this value:</p>
  
  <pre><code>LPCTSTR CClass::GetMyClassName()
  {
      return MyClass_.c_str();
  }
  </code></pre>
  
  <p>When I create an instance of this class and then try and access it intellisense pops up but the name has been changed depending on whether the project has been compiled for Unicode or Multibyte. If it has been compiled for Unicode the function appears as:</p>
  
  <pre><code>aClass.GetMyClassNameW();
  </code></pre>
  
  <p>else it is:</p>
  
  <pre><code>aClass.GetMyClassNameA();
  </code></pre>
  
  <p>What I'd like to know is how is the name getting changed?
  Also I would like to know is it possible for intellisense to show the correct name of the function? So that I can access it like this:</p>
  
  <pre><code>aClass.GetMyClassName()
  </code></pre>
  
  <p>EDIT: The precise member function name I've used in my code is:</p>
  
  <pre><code>WinClass::GetClassName()
  </code></pre>