Как найти общие элементы у трех массивов?
Второй вопрос ТС за день, и второй раз достаточно внимательно прочитать собственный код, чтобы найти ошибку.
Предлагаю просто игнорировать этого лентяя, джентльмены.
Какой ужасный алгоритм! Лучше запихнуть первые два массива в hash-set (std::unordered_set). А потом при проходе по третьему массиву просто проверить, что этот элемент есть в первых двух set-ах.

Если элементы могут повторятся, но выводить надо только один раз, то заведите еще один unordered_set, куда добавляйте элементы, которые вы добавили в ответ. Естественно, перед добавлением элемента в ответ, проверьте, а не содержится ли он уже в этом set-е.

И код получится раз в 10 меньше и работать будет на пару порядков быстрее.