QFlags Enum Type Conversion неожиданно терпит неудачу

Этот код уже давно работает в библиотеке:

MyClass::MyClass() 
  : QDialog()
{
    // (...)
    setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowTitleHint );
    // (...)
}

Затем, после изменения различных частей библиотеки, я внезапно получаю это сообщение:

error C2664: 'QWidget::setWindowFlags': cannot convert parameter 1 from 'int' to 'Qt::WindowFlags'

По-видимому он не находит | перегрузка оператора, предоставляемая классом QFlags, так что результат | возвращает целое число, а не конструкцию QFlags.

Я знаю, что мог бы вручную привести результат к (Qt::WindowFlags)и заставить его работать, но QFlags обычно делает такое приведение ненужным.

Есть идеи, какие изменения могут привести к такому поведению?

Я включаю , чего обычно бывает достаточно. Включение не меняет поведение.

5
задан Tim Meyer 25 May 2012 в 13:12
поделиться