Alors que la révision du code Qt C++ je suis tombé sur ceci:Signal Qt virtuel?
class Foo
{
Q_OBJECT
signals:
virtual void someSignal(const QString& str, int n)
{
Q_UNUSED(str);
Q_UNUSED(n);
}
...
};
Maintenant, les signaux Qt ne peut pas avoir un corps, donc je suis surpris ce même compilable (peut-être parce que le corps est effectivement vide). Je ne vois pas non plus l'intérêt de faire un signal virtuel car ... il ne peut pas avoir de corps alors comment peut-il être outrepassé?
me manque ici quelque chose que je ou est-ce une odeur de code valide?
Il peut compiler, mais c'est toujours une violation ODR: la fonction a deux corps, un dans l'en-tête et un dans le cpp émis par le moc. – ybungalobill