Does extern "C" force limitations on my code?
<p>Does the standard say anything about limitations on functions used with <code>extern "C"</code>? In a <a href="http://stackoverflow.com/q/9628663/34537">questions of mine that makes no sense to anyone else</a>. It appears that when i have a complex class gcc breaks (runtime oddities/errors) if i call a non default constructor (anything with a parameter i believe) and msvc seems to break if it isn't a POD (however i could still use my constructors and it ran fine).</p>

<p>I suspect all the undefined behavior happens because a C library is calling my C++ which returns a type that is exactly the size of a pointer but has operator overloading and constructors. I don't know why it happens and gcc certainly doesn't give me any warnings.</p>

<p>Does extern "C" force limitations on my code? All i know is exceptions can't go through them which is fine as i don't use them in this code. What are other limitations?</p>

<p>-edit- Related: <a href="http://stackoverflow.com/questions/9639844/reproducible-why-does-passing-this-object-in-c-break-my-code">Reproducible: Why does passing this object in C break my code?</a></p>
