do we need an extern to call a function in C++
<pre><code>EXTERN(void) jpeg_fdct_8x4
JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col));
</code></pre>

<p>Here, I had four questions:
1) What does the syntax Extern(Void) mean? That the return value is void? Is it a usual syntax?
2) I see in a third party code non-class member functions with the static keyword, inline keyword, no keyword and extern keyword. I understand that static keyword limits the scope of the function to the file. What happens if I use "no  keyword"? Do I have to use extern in other file to use that function or I can call the function directly from another file after specifying the function declaration?
3) Do I need extern in C++ only to call interface with C?
4) What is the default scope of inline functions?
Thanks.</p>
