Re: Strange function use
- From: spibou@xxxxxxxxx
- Date: 3 Aug 2006 04:05:13 -0700
pemo wrote:
Christian Christmann wrote:
Hi,
in a benchmark I've found an uncommon use of a function.
This is the simplified form:
1 int foo( int f )
2 {
3 return f;
4 }
5
6 int main( void )
7 {
8 int a, b, foo();
9 a = 10;
10 b = foo( a );
11
12 return 0;
13 }
I don't understand the use of function "foo" in line 8.
What's it's purpose? It's called without assigning it's
return value to any variable. Furthermore, I wonder
why this function use is allowed at all. According to
the function prototype "foo" expects an integer argument
that is in line 8 not given. Compiling the code with
"gcc -Wall -ansi" does not issue any warning/errors.
Could you shed some light on that.
It's not a /call/ but a declaration - it's say that foo is a function
returning an int. I believe it's also /saying/ that foo takes an unknown
number/type of args - however, as foo's definition is in scope, the compiler
already knows about it ... thus the declaration in line 8 isn't necessary.
What are the semantics of declaring a function inside
another function ?
.
- Follow-Ups:
- Re: Strange function use
- From: pemo
- Re: Strange function use
- References:
- Strange function use
- From: Christian Christmann
- Re: Strange function use
- From: pemo
- Strange function use
- Prev by Date: Re: return value of main
- Next by Date: Re: Strange function use
- Previous by thread: Re: Strange function use
- Next by thread: Re: Strange function use
- Index(es):
Relevant Pages
|