I have a struct with 2 initialiser functions which take different types of arguments:
struct myStruct;
typedef struct myStruct *myStruct;
INFNumber *myStructMake(long long arg);
INFNumber *myStructMake(char *arg);
I get a conflicting types for 'myStructMake' error on the second declaration. Is C not capable of having 2 identically named functions which take different parameters? Or is it for some other reason?
That’s right, no overloading. You have to use different names or choose some other scheme (like passing additional arguments).