Beh, C o C++ per queste cose non differiscono ...

La addcity si attende un puntatore ad ant e nella prima hai già un puntatore ad ant ... quindi basta

addcity(a, i);