精華區beta Programming 關於我們 聯絡資訊
※ 引述《yoco.bbs@bbs.wretch.cc (眠月..)》之銘言: > ※ 引述《UNARY.bbs@bbs.cse.ttu.edu.tw (API)》之銘言: > > 實際上 > > 當我遇到那種 C4101 warning : "unreferenced local variable" 的情況時 > > 都是在「宣告一個變數 但沒初始化」的時候發生 > 我試了這段程式碼 > int main () > { > int a, b ; // ab沒初始化 > int c=1, d=2 ; // cd有初始化 > std::cout << a << c ; // ac有用到,bd沒有用到 > } > 得到的訊息是.. > warning C4101: 'b' : 未參考的區域變數 > warning C4700: 所使用的區域變數 'a' 尚未初始化 > 由此可見,也許變數的初始化也當作是被參考到.. > 我是不太清楚編譯器在這方面實作的細節, > 不知道有沒有前輩要說說明一下... 看到這篇又去試了一下 結果同 yoco 試的 整理一下: ┌────┬────┬────┐ │宣告變數│未初使化│有初始化│ ├────┼────┼────┤ │ 有用到│ C4700 │(無警告)│ ├────┼────┼────┤ │ 沒用到│ C4101 │(無警告)│ └────┴────┴────┘ C4101: 未參考的區域變數 C4700: 所使用的區域變數尚未初始化 所以我先前的說法有些錯誤 要跟 khoguan 說聲抱歉~ C4101 跟「變數有沒有用到」的確也是有關係的 -- , 秘密情人 (bbs.cse.ttu.edu.tw) ~\ Post From: 61-70-137-117.adsl.static.giga.net.tw