Wie wird beim Überschreiben einer virtuellen Methode mit falscher Sichtbarkeit gewarnt?

9

Beim Überschreiben einer virtuellen Methode habe ich bemerkt, dass ich, wenn ich einen Fehler in der Sichtbarkeit mache (geschützte Methode als öffentliche Methode überschrieben), nicht vom Compiler gewarnt werde.

Es ist C ++ gültig, aber normalerweise ist es ein Fehler.

Zum Beispiel:

%Vor%

Ich habe versucht, mit gcc und clang, mit -Wall -Wextra, ohne Glück zu kompilieren. Ich habe CppCheck auf diesen Code ausgeführt, immer noch kein Glück.

Welches Tool kann mir helfen, dies zu erkennen? Ich muss die ganzen Quellen einer Bibliothek reparieren, an der ich arbeite.

    
Julien 30.09.2011, 12:08
quelle

2 Antworten

0

Ich habe mit Ctags eine Lösung für meine Bedürfnisse gefunden.

CTags können C ++ analysieren und Informationen in eine Datei ausgeben.

Verwenden Sie die folgenden Optionen:

%Vor%

Ich kann alle benötigten Informationen in einem leicht analysierbaren Format erhalten.

Piping $TAGFILE durch ein paar grep -Befehle, ich kann überprüfen, ob ein bekannter Funktionsname die erwartete Sichtbarkeit hat, und andernfalls eine Warnung mit der inkriminierten Datei ausgeben.

Hier ist ein Bash-Snippet, um Informationen aus der Ctags-Ausgabe zu extrahieren:

%Vor%     
Julien 07.10.2011, 13:02
quelle
1

Inspirel lässt Sie Ihre eigenen Regeln definieren: Ссылка

    
Lou Franco 30.09.2011 12:12
quelle

Tags und Links