title: Unqualified-id before string constant
body: <p>On compiling following code I get error "expected unqualified-id before string constant"</p>
  
  <pre><code>In file "Notification_Constants.h"
  
  namespace NOTIFICATION_CONSTANTS
  {
      #define SERVICE_EMAIL "service@company.com"
  }
  </code></pre>
  
  <p>In file SendEmail.cpp</p>
  
  <pre><code>#include "Notification_Constants.h"
  
  void UserPreferences::get_senders_email(String &amp;_email)
  {
      _email = NOTIFICATION_CONSTANTS::SERVICE_EMAIL;
  }
  </code></pre>
  
  <p>If i assign like following it works properly, what is the reason for the compilation error.</p>
  
  <pre><code>_email = SERVICE_EMAIL;
  </code></pre>
  
  <p>There is a similar <a href="https://stackoverflow.com/questions/4658527/error-expected-unqualified-id-before-string-constant">question</a> but the reason is not mentioned.</p>
  
  <p>String class declaration with relevant methods</p>
  
  <pre><code>class String
  {
  public:
  
  String();
  String(const String&amp; src);
  String(const char *new_str);
  String&amp; operator=(const String&amp; src);
  String&amp; operator=(const char *new_str);
  };
  </code></pre>