Від модератора: переніс до відповідного розділу і дав нормальний заголовок, невже це так складно?
Якщо ви прочитаєте далі, то побачите
note: candidates are: ‘template<class _Tp> struct std::plus’
struct plus;
^~~~
prog.cpp:16:6: note: ‘Drib plus(Drib, Drib)’
Друга функція - ваша. Перша структура - з std. Чому вона опинилася у загальному просторі імен? Бо ви зробили
От саме тому й не треба цього робити.
Наступного разу, будь ласка, описуйте, що саме ви робите і читайте та наводьте текст повідомлення про помилку повністю. А також додавайте теги code (кнопка <>).
І вам не треба вдруге порівнювати p1.zaym і p2.zaym, якщо перше порівняння дало хибу, то гілка else точно спрацює без додаткової перевірки.