1 struct NonTrivial { NonTrivialNonTrivial2 NonTrivial() {} NonTrivialNonTrivial3 NonTrivial(const NonTrivial &) {} constFunctionNonTrivial4 void constFunction() const {}; nonConstFunctionNonTrivial5 void nonConstFunction() {}; 6 int a; 7 }; 8 9 class BaseWithVirtuals 10 { 11 public: virtualMethod1(NonTrivial)12 virtual void virtualMethod1(NonTrivial) {}; // Warn virtualMethod2(NonTrivial)13 virtual void virtualMethod2(NonTrivial) {}; // Warn nonVirtualMethod(NonTrivial)14 void nonVirtualMethod(NonTrivial) {}; // Warn 15 }; 16 17 class DerivedWithVirtuals : BaseWithVirtuals { 18 public: virtualMethod1(NonTrivial)19 void virtualMethod1(NonTrivial) override {}; // Warn virtualMethod2(NonTrivial)20 void virtualMethod2(NonTrivial) {}; // Warn nonVirtualMethod(NonTrivial)21 void nonVirtualMethod(NonTrivial) {}; // Warn 22 }; 23