Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verhaltensänderung: 'member1' wird anstelle von 'member2' aufgerufen
Bemerkungen
Ein Wert kann nicht an einen Nichtkonstverweis gebunden werden. In Versionen von Visual C++ vor Visual Studio 2003 konnte ein Wert an einen Nichtkonstverweis in einer direkten Initialisierung gebunden werden. Dieser Code gibt jetzt eine Warnung an.
Aus Gründen der Abwärtskompatibilität ist es weiterhin möglich, Werte an Nichtkonstverweise zu binden, aber Standardkonvertierungen werden nach Möglichkeit bevorzugt.
Diese Warnung stellt eine Verhaltensänderung vom Visual C++-Compiler .NET 2002 dar. Wenn diese Option aktiviert ist, kann diese Warnung möglicherweise für den richtigen Code angegeben werden. Beispielsweise könnte sie bei Verwendung der Klassenvorlage "std::auto_ptr " angegeben werden.
Wenn Sie diese Warnung erhalten, überprüfen Sie Den Code, um festzustellen, ob er von Bindungswerten an Nichtkonstverweise abhängt. Das Hinzufügen eines Const-Werts zum Verweis oder das Bereitstellen einer zusätzlichen Konstverweisüberladung kann das Problem lösen.
Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.
Example
Im folgenden Beispiel wird C4350 generiert:
// C4350.cpp
// compile with: /W1
#pragma warning (default : 4350)
class A {};
class B
{
public:
B(B&){}
// try the following instead:
// B(const B&){}
B(A){}
operator A(){ return A();}
};
B source() { return A(); }
int main()
{
B ap(source()); // C4350
}