// ... code!
void MyDialog::EnableOk()
{
    ui->okbutton->setEnabled(ui->lineEdit->hasAcceptableInput());
    switch(ui->okbutton->clicked())
    {
        default:
        QMessageBox *msg = new QMessageBox;
        msg->setText("TEST!!!");
        msg->exec();
        break;
    }
}
// ... code!
При попытке компиляции выходит ошибка:
C2450: switch expression of type 'void' is illegal
Expressions of type void cannot be converted to other types
Пробовал писать так:
void MyDialog::EnableOk()
{
    ui->okbutton->setEnabled(ui->lineEdit->hasAcceptableInput());
    bool b = ui->okbutton->clicked();
    switch(b)
    {
    default:
        QMessageBox *msg = new QMessageBox;
        msg->setText("TEST!!!");
        msg->exec();
        break;
    }
}
Выходит ошибка: 
C2440: 'initializing' : cannot convert from 'void' to 'bool'
Expressions of type void cannot be converted to other types
Что делать? Как исправить? Почему так происходит?