Rien à voir avec les templates, la déclaration de add dans vector cache les déclarations du même nom dans les classes de base, la solution est l'utilisation de using Addable<E>::add; dans vector.
...