Конечно же QWidget::setSizePolicy(...) здесь не виновата.
Просто у класса QWidget нет функции setSizePolicy(QSizePolicy::Policy)
Есть вот такие:
void setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
void setSizePolicy(QSizePolicy policy)
to pacmanoid:Вы наверное просто забыли ещё один параметр передать?
Либо хотели передать в качестве параметра класс QSizePolicy, а
передали enum QSizePolicy::Policy.
А у компилятора то "оverload resolution" и он выбрал в данном случае ф-цию: void setSizePolicy(QSizePolicy policy).
Т.е. ожидал на входе класс QSizePolicy.
А у класса QSizePolicy к несчастью есть
private конструктор:
QSizePolicy(int i).
Ваш enum привёлся к int'у и компилятор попытался неявно вызвать конструктор QSizePolicy(int i).
Вот такой у нас "чудный" язык
.