次の Qt コード スニペットを考慮してください:
<code class="cpp">class T : public QObject, public QGraphicsItem { Q_OBJECT public: T() {} QRectF boundingRect() const {return QRectF();} void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {} }; int main() { T t; return 0; }</code>
このコードをコンパイルするとき、次のようなリンカー エラーが発生する可能性があります:
undefined reference to `vtable for T' undefined reference to `vtable for T' ...
解決策:
このエラーは通常、クラスの MOC 生成ユニットがリンク プロセスに含まれていない場合に発生します。 MOC ユニットには、Q_OBJECT マクロなど、クラスに関するメタ情報が含まれています。
考えられる原因と修正:
以上がQt アプリケーションで「Q_OBJECT リンク エラー: \'vtable への未定義の参照\'」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。