En estos lenguajes, el problema de ODR se suele resolver por medio de dos técnicas: la primera, el compilador pone toda la información necesaria sobre los tipos en el código compilado y esta información es accesible incluso cuando el programa se ejecuta; la segunda, Java y otros lenguajes modernos tienen la posibilidad de verificar el número y tipo de los argumentos como método de invocación.