title: Virtual Qt signal?
body: <p>Whilst reviewing some Qt C++ code I came across this:</p>
  
  <pre><code>class Foo
  {
    Q_OBJECT
  
  signals:
    virtual void someSignal(const QString&amp; str, int n)
    {
      Q_UNUSED(str);
      Q_UNUSED(n);
    }
    ...
  };
  </code></pre>
  
  <p>Now, Qt signals cannot have a body so I'm surprised this even compiles (perhaps because the body is effectively empty).  I also don't see the point of making a signal virtual as ... it can't have a body so how can it be overridden?</p>
  
  <p>Am I missing something here or is this a valid code smell?</p>