Is there a difference between with braces or without when using extern "C"?
<p>So, while being <a href="http://stackoverflow.com/a/11871465/315052">schooled by James Kanze and Loki Astari about C linkage</a>, I was wondering about this:</p>

<pre><code>extern "C" int foo1 (void (*)());
extern "C" { int foo2 (void (*)()); }
</code></pre>

<p>After my schooling, I think it must be that <code>foo1</code> only takes a function pointer with C++ linkage, while <code>foo2</code> only takes a function pointer with C linkage. Is my understanding correct? Are there specific references in the C++ standard that explain the differences in my example above?</p>

<p><strong>Edit:</strong> To make it easier for everyone to follow along <a href="http://pastebin.com/F3MP9wFv" rel="nofollow">here's a pastebin with the relevant part from the C++ 11 draft standard</a>.</p>
