[問題] 相同變數名稱在不同CPP上面的問題

看板C_and_CPP (C/C++)作者 (憶秋風痕)時間14年前 (2011/12/20 16:52), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2005 問題(Question): 使用MFC的SDI 有三個不同的Form A B C 這三個Form所做的事雖然不同,但是很多地方類似(但是執行一次程式只有一個form產生) 所以變成全域變數名稱會很相近 例如因為要用到改變控制項的顏色 我會設 COLORREF colorT1, colorT2; T1, T2是三個FORM都會有的 由於我是先寫完一個FROM再用copy的方式修改成其他兩個form 想當然爾會出現重複定義 當然最快的解決方式就是在變數前面加上一些變化 例如 colorA_T1 colorA_T2 但我想問的是: 是否有辦法 讓同名的變數名稱在不同的CPP中各自獨立? 因為在做實驗時有可能根據不同的FORM會不同的設定值 有時利用全域變數直接改設定 由於第一次使用SDI(之前都是直接使用對話框,所以才遇到此問題) 請各位多指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.145.227

12/20 17:11, , 1F
一定要用global variable?改用class member呢?
12/20 17:11, 1F

12/20 17:14, , 2F
static應該可以做到,可是我很排斥這麼做
12/20 17:14, 2F

12/20 17:21, , 3F
class member也有想過,只是在想有沒有其他方法
12/20 17:21, 3F

12/20 19:23, , 4F
anonymous namespace?
12/20 19:23, 4F
文章代碼(AID): #1Ey4ovyA (C_and_CPP)
文章代碼(AID): #1Ey4ovyA (C_and_CPP)