Steve Graegert wrote:
On 9/9/05, _z33 <[EMAIL PROTECTED]> wrote:I had a wierd doubt today morning. If a function's return type is not defined, "C" takes it as returning "int". Now, what does it do when I don't specify the arguments of the function. Something like this - void sampleFunc () { /* ... */ } Is this equivalent to saying, void sampleFunc (void) { /* ... */ }Yes, technically both are equivalent. The latter is the new style while the former is the "old" style. But be aware: A function defined using the old style does __not__ establish a prototype, but if a previously declared prototype for that function exists, the parameter declarations in the definition must exactly match those in the prototype after the default argument promotions are applied to the parameters in the definition. Conclusion: avoid mixing old style and prototype style declarations/definition for a given function. It is allowed but not recommended.
I'm clear... but, now wondering why for two days a guy from an R&D dept of an MNC is arguing with me, saying that a function with empty argument specification implies having implicit "int" type arguments. (similar to the implicit assumption of return type of functions to "int" when none is specified explicitly).
_z33 -- I love TUX; well... that's an understatement :) - To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
