Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
az "azonosító" deklarációja elrejti az osztálytagot
Megjegyzések
A helyi hatókörben lévő azonosító deklarációja elrejti az azonos nevű azonosító deklarációját az osztály hatókörében. Ez a figyelmeztetés tájékoztatja arról, hogy a hatókörben szereplő azonosítóra való hivatkozások a helyileg deklarált verzióra, nem pedig az osztálytag verzióra kerülnek, ami lehet, hogy nem az Ön szándéka. A probléma megoldásához javasoljuk, hogy adjon meg olyan helyi változóneveket, amelyek nem ütköznek az osztálytagok nevével.
Example
Az alábbi példa C4458-at hoz létre, mert a paraméter x és a helyi változó ymember_fn neve megegyezik az osztály adattagjaival. A probléma megoldásához használjon különböző neveket a paraméterekhez és a helyi változókhoz.
// C4458_hide.cpp
// compile with: cl /W4 /c C4458_hide.cpp
struct S {
int x;
float y;
void member_fn(long x) { // C4458
double y; // C4458
y = x;
// To fix this issue, change the parameter name x
// and local name y to something that does not
// conflict with the data member names.
}
} s;