Talking to compiler is just like to human being, if you do not understand the dialect then you keep wondering what the other side is trying to say:
error C2663: 'QWidget::move': 1 overloads have no legal conversion for 'this' pointer
That is from Microsoft VC++ compiler. If you are new, this message hardly tells you anything useful. So, open up MSDN help or fire Google.
But time is money:
error: passing `const Foo' as `this' argument of `void QWidget::move(int, int)' discards qualifiers
and the way how GCC spots the same mistakes easily sparks your brain cells and in matter of milliseconds, you know what you've done wrong.