Почему V::set() не является членом «V»? В чем ошибка?
У вас set() объявлен так void set(int);, реализован так void V::set() {, а вызывается вот так  rez.set(p1.y / p2.y); (т.е. set(double)).
В чем ошибка?
В том, что в классе объявлено void set(int) а определяется -- void V::set(). Объявление должно соответствовать определению.