я имел этот код работает довольно долгое время в библиотеке:QFlags Enum Тип преобразование не может внезапно
MyClass::MyClass()
: QDialog()
{
// (...)
setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint);
// (...)
}
Затем, после замены различных частей библиотеки, я получаю это сообщение все из внезапно:
error C2664: 'QWidget::setWindowFlags': cannot convert parameter 1 from 'int' to 'Qt::WindowFlags'
По-видимому, он не находит | перегрузка оператора, предоставляемая классом QFlags, так что результат | возвращает int, а не конструкцию QFlags.
Я знаю, что могу вручную направить результат на (Qt::WindowFlags)
и заставить его работать, но QFlags обычно делают этот вид ненужного.
Любая идея, какие изменения могут привести к такому поведению?
Я включаю в себя <QtGui/QDialog>
, который обычно будет достаточным. В том числе <QtCore/QFlags>
не изменяет поведение.
Имеет смысл, спасибо за подробное объяснение. –