Wenn ich eine Klasse mit einer überladenen ==-Operatorfunktion habe, wie finde ich heraus, wo dieser überladene Operator im gesamten Code verwendet wird? (Anders als einen Unterbrechungspunkt in die überladene == -Methode zu setzen und zu sehen, ob der Code jemals darauf trifft.) Ich habe versucht, zur Klassenansicht in Visual Studio zu gehen, mit der rechten Maustaste auf die Methode zu klicken und "Alle Referenzen suchen" Es gibt keine Referenzen, wenn ich weiß, dass mindestens eine hinzugefügt wurde.
Kommentieren Sie die Deklaration operator==
in der Klasse und kompilieren Sie sie erneut. Alle Orte, die versuchen, die Funktion zu verwenden, erzeugen einen Fehler.
Ein Update zu Mark B's Antwort : Markieren Sie die Funktionsdeklaration mit =delete
. Dies funktioniert mit allen modernen Versionen von Visual Studio und funktioniert auch mit freien Funktionen.
Sie können das Add-on Visual Assist ausprobieren. Es macht wirklich eine Menge verbesserter Syntaxhervorhebung, aber ich denke nicht, dass es überladene Operatoren hervorhebt.
Visual Studio sollte Ihnen überladene Funktionen anzeigen ( Verwenden Sie die Pfeile), obwohl AFAIK gibt es keine Möglichkeit, dies für die Betreiber zu zeigen.
Tags und Links c++ visual-studio