Re: [問題] 避免「變數名稱」衝突「class名稱」

作者: descent (「雄辯是銀,沉默是金」)   2017-05-12 16:37:57
這個問題很詭異
typedef int now_time;
int main(int argc, char *argv[])
{
int now_time;
now_time my_time;
return 0;
}
[email protected]/*
作者: uranusjr (←這人是超級笨蛋)   2017-05-12 16:57:00
不奇怪吧, 就定義覆蓋的問題啊 (合不合標準我沒查)
作者: descent (「雄辯是銀,沉默是金」)   2017-05-12 17:08:00
一個是變數名稱, 一個是變數型別的名稱, 為什麼會衝突?
作者: uranusjr (←這人是超級笨蛋)   2017-05-12 17:22:00
不太一樣, char 是保留字, 所以上面會 error, 但自定義型別和變數都是 identifier, 是可以覆蓋的是在你真的使用那個 identifier (例如 cout) 才會去檢查那個 identifier 代表什麼, 這時候才會出錯
作者: AstralBrain   2017-05-12 18:15:00
http://en.cppreference.com/w/cpp/language/lookup看 "type/non-type hiding" 那段
繼續閱讀

Links booklink

Contact Us: admin [ a t ] ucptt.com