Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[VS 2022] Konstruktor wird als überladen angezeigt, obwohl er nicht überladen ist

5 views
Skip to first unread message

Michael Landenberger

unread,
Aug 14, 2022, 7:00:04 PM8/14/22
to
Hallo,

folgende Merkwürdigkeit bekomme ich nicht weg:

ich habe eine Headerdatei tp_voices.h, in der eine Klasse "Oscillator"
definiert ist. Die Deklaration des Konstruktors dieser Klasse sieht so aus:

class Voice; //forward-Deklaration

class Oscillator {
private
int iIndex;
public:
Oscillator(Voice* v, int index);
(...)
};

Dazu gibt es eine tp_voices.cpp mit dem Code für die Klasse "Oscillator". Der
Konstruktor sieht da so aus:

Oscillator::Oscillator(Voice* v, int index)
{
voice = v;
iIndex = index;
}

Das Ganze wird ohne Fehler compiliert. Allerdings ist der Name des
Konstruktors von "Oscillator" in der Headerdatei tp_voices.h in Visual Studio
2022 mit einer grünen Wellenlinie unterstrichen. Fahre ich mit der Maus über
das Wort "Oscillator", erscheint ein Hint, in dem steht, der Konstruktor hätte
2 Überladungen. Das stimmt aber nicht, der Konstruktor ist nicht überladen.

Frage: was ist die Ursache für diese unsinnige Meldung? Spinnt Visual Studio
da 'rum? Oder muss ich der Sache auf den Grund gehen?

Gruß

Michael

Stefan Reuther

unread,
Aug 15, 2022, 1:00:36 PM8/15/22
to
Am 14.08.2022 um 21:09 schrieb Michael Landenberger:
> Fahre ich mit der Maus über
> das Wort "Oscillator", erscheint ein Hint, in dem steht, der Konstruktor hätte
> 2 Überladungen. Das stimmt aber nicht, der Konstruktor ist nicht überladen.
>
> Frage: was ist die Ursache für diese unsinnige Meldung? Spinnt Visual Studio
> da 'rum? Oder muss ich der Sache auf den Grund gehen?

Was genau Visual Studio zu der Meldung veranlasst kann ich natürlich nur
raten. Aber formal hat die Klasse einen zweiten Konstruktor, nämlich den
Kopierkonstruktor, vielleicht meint er den.

(Verwandte Thematik: wenn man mit gcc+lcov die Testabdeckung ermittelt,
werden die implizit generierten Funktionen separat gezählt, auch wenn
man dafür gar keinen Code geschrieben hat.)


Stefan
0 new messages