title: Why can't I call an function in an anonymous namespace from within another function?
body: <p>I have written this piece of code:</p>
  
  <pre><code>namespace {
  
  void SkipWhiteSpace(const char *&amp;s) {
    if (IsWhiteSpace(*s)) {
      s++;
    }
  }
  
  bool IsWhiteSpace(char c) {
    return c == ' ' || c == '\t' || c == '\n';
  }
  
  } // namespace
  </code></pre>
  
  <p>The problem is that the compiler complains that <code>IsWhiteSpace()</code> <code>was not declared in this scope</code>. But why? Sure, the namespace is anonymous but still the functions lie within the same namespace, aren't they?</p>