Ciao,
in C# esiste la parola chiave params che ti consente di passare un numero variabile di parametri, non so quale possa essere in C++.
In ogni caso, all'interno del metodo potresti partire da una tabella principale (dove l'elemento che vuoi cancellare è chiave primaria) e poi andare a trovare le altre tabelle scorrendo le relazioni che sussistono tra loro. E salvare alla fine della transazione, diversamente se non vuoi fare una unica transazione potresti chiamare in un ciclo esterno il tuo metodo che in questo modo avrebbe solamente dei parametri ben definiti (nometabella, nomecampo, id)