title: Warning: Function return user-defined type which is incompatible with C
body: <p>Header:</p>
  
  <pre><code>using namespace std;
  extern "C" {
    string testFunc();
  }
  </code></pre>
  
  <p>.cpp:</p>
  
  <pre><code>string testFunc()
  {
    return string("test");
  }
  </code></pre>
  
  <p>I got this warning when building:</p>
  
  <pre><code>'testFunc' has C-linkage specified, but returns user-defined type 'string' (aka 'basic_string&lt;char&gt;') which is incompatible with C
  </code></pre>
  
  <p>I've test my function and "test" was returned properly.</p>
  
  <p>Will this warning cause any issue?</p>
  
  <p>I'm using Apple LLVM 4.2, C99, ALL default settings in XCode 4.6.</p>