Possible false positive for cpp:S1242 (Inherited functions should not be hidden)

Hello,

I have issues relative to the rule cpp:S1242 I don’t understand.
Here is a minimal code sample I’ve tested with the issues appearing on the lines as indicated in the comments :

class A
{
public:
    A();
    virtual ~A();
    virtual void method1() const;
    virtual void method2() const;
    virtual void method3(int n) const;
};

A::A() {}
A::~A() {}
void A::method1() const { printf("A::method1\n"); };
void A::method2() const { printf("A::method2\n"); };
void A::method3(int n) const { printf("A::method3 with %d\n", n); };

class B : public A
{
public:
    B();
    virtual ~B();
    virtual void method1() const override; // Correct this function so that it no longer hides "A::method1"
    void method2() const override; // Correct this function so that it no longer hides "A::method2"
    void method3(int n) const override; // Correct this function so that it no longer hides "A::method3"
};

B::B() {}
B::~B() {}
void B::method1() const { printf("B::method1\n"); };
void B::method2() const { printf("B::method2\n"); };
void B::method3(int n) const { printf("B::method3 with %d\n", n); };

I don’t understand how these issues may appear since override is used for the three virtual methods.
Did I missed something ?


Developer Edition Version 8.0 (build 29455)
Code Analyzer for C, C++, Objective-C : SonarCFamily 6.4 (build 11646)

Hello @Ferris,

Welcome to the community!

This is an obvious false-positive. This ticket will fix it. It will be part of the next release planned at the end of the next week.

Ok. Thank you for your prompt reply.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.