WilliamL wrote:So it's just a case of c not be equal to zero in the Declare statement? I'm not sure what the value of c has to do with the Declare statement... but, whatever.
A Declare statement and a Procedure statement need to match in several important ways. They both need to include the same return type. They both need to have parameters of the same type and order listed. If the parameters are optional they need to specify matching default values.
A Declare statement and a Procedure statement can differ in several unimportant ways. As long as the previous conditions regarding type and order were met the parameters can have different names. Also, if a parameter is a pointer, it's structure type is ignored for the purposes of matching since both parameters contain integer-sized values.