error: invalid application of 'sizeof' to incomplete type 'QStaticAssertFailure<false>' enum {Q_STATIC_ASSERT_PRIVATE_JOIN(q_static_assert_result, __COUNTER__) = sizeof(QStaticAssertFailure<!!(Condition)>)} I have just read that: Values of a registered type can be constructed dynamically via QMetaType::construct() There is an example in the link above. Thanks for your help! I will figure it out, still missing pure c++ knowledge ;)