範例
在這個範例中,有兩個相同名稱的變數宣告。這會造成誤導,並使開發人員混淆不清。

class ClassA {
public:
int someFunction() {
struct Hat {
int sameName;
};

Hat myHat;
myHat.sameName = 5;

int sameName = 5;

return sameName;
}
};

解決方案
請改為將變數命名為不同的名稱,使得要操作哪一個變數變得明確。建議變數名稱要含有意義。

class ClassA {
public:
int someFunction() {
struct Hat {
int sameName;
};

Hat myHat;
myHat.sameName = 5;

int banana = 5;

return banana;
}
};