Nicht nur normalerweise

a und b sind in diesem Fall Parameter und keine Variablen. (Ich Korinthenkacker

)
De facto kommt es mir so vor als hättest du (sin0sis) nicht verstanden was
main ist und wozu dessen Parameter gut sind. Falls es so ist: lies das besser nach, bevor du dir was falsches dauerhaft merkst.
Beschwert sich der Linker wirklich nicht? Denn
int main( int, int ) ist nicht im Standard festgelegt - da sollte sich der Compiler oder (spätestens) der Linker beschwerden.