|
|
|
|
|
by haberman
5586 days ago
|
|
I really wish this were true since it would solve my original problem, but after reading the standard I don't think this is true. From c99, 6.5.2.2 p6: "If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions. If the number of arguments does not equal the number of parameters, the behavior is undefined." I take the last sentence to mean that an unprototyped function pointer may only be used to call a function that takes zero parameters. |
|
Obviously if you don't pass the right number of parameters, the function behavior is undefined (i.e. a pascal function will of course muck up the stack)