# 《C++ 教學手冊 第四版》服務專區 ||| |---|---| |![F5713_去背圖_無陰影](https://hackmd.io/_uploads/H1A3AvfPJe.png =150x)|[TOC]| ## 範例下載 本書範例檔以及單數題習題解答可在[這裡](https://flagcomtw-my.sharepoint.com/:f:/g/personal/school_editor_flag_com_tw/Eo9emAasjbVHtYP8Ix5V54sBLpc7Gt8s8thZjsElJi88WQ?e=Z1K3AE)下載。 ## 勘誤 ### 第 7 章 - 7-4 頁: 範例 ch7-2 前的文字[^1]: > ...。在此將上面的內容實際化為程式, 以便有更清楚的認識。下面的程式中,宣告一個整數變數 num,以及 num 的參照 rm, 再將參照 rm 加 10 後,分別印出 num 及 rm 的值。 應修正為: > ...。在此將上面的內容實際化為程式, 以便有更清楚的認識。下面的程式中,宣告一個整數變數 a 以及 a 的參照 ref, 再將參照 ref 加 10 後,分別印出 a 及 ref 的值。 範例 ch7-2 的程式碼應修正第 8 行,把 `a=a+10` 改為 `ref=ref+10`: ```cpp= // Ch7_2, 參照的認識 #include <iostream> using namespace std; int main(void){ int a=5; int &ref=a; // 宣告 ref 為 a 的參照 ref=ref+10; // 參照 ref 加 10 cout << "a=" << a << endl; // 印出 a 的值 cout << "ref=" << ref << endl; // 印出 ref 的值 return 0; } ``` 執行結果則應該是: ``` a=15 ref=15 ``` [^1]: 2025/04/09 感謝讀者 Wc(`a0.....60@gmail.com`)勘誤 ### 第 10 章 - 10-23 頁[^2]:這一頁從 Ch10_8.cpp 範例檔案開始,會使用到 `nullptr`,這是 C++ 11 標準定義的,Dev C++ 內的 C++ 編譯器預設並沒有開啟 C++ 11 標準,編譯會出錯,看到如下畫面: ![圖片](https://hackmd.io/_uploads/rkRxcVCSee.png) 必須修改編譯器的程式碼生成設定: ![圖片](https://hackmd.io/_uploads/Byx89VCSgg.png) 改為 ISO C++ 11,就可以正常編譯執行: ![圖片](https://hackmd.io/_uploads/ryxo54ABee.png) [^2]:2025/07/11 感謝虎尾科大飛機系王萱鍢老師指正。 ### 第 11 章 - 範例 Ch11_14.cpp:這個範例使用到了書上沒有介紹過的 `static_cast`轉換型別,請改成以下使用列舉型別轉換型別的方式: ```cpp // Ch11_14, 列舉型態的使用 #include <iostream> #include <string> using namespace std; enum month{ // 定義列舉型態 January,February,March, April,May,June } six; int main(void){ string a[6]={"January","February","March", "April","May","June"}; // for(six=January;six<=June;six=static_cast<month>(six+1)) for(six=January;six<=June;six=month(six+1)) cout << "six(" << six << ")=" << a[six] << endl; return 0; } ``` ## 補充教學 - 如果想要使用 VSCode 開發 C/C++,可以依照〈[使用 VSCode 開發 C/C++ 程式](/imq69VS9QRue4M7r4QgeVg)〉教學文章設置環境。 - 如果要使用 VSCode 開啟本書範例,可以依照〈[使用 VSCode 開啟《C++ 教學手冊》範例檔](/zr8EyjMoRlChWH0wkEc-nA)〉教學文章,避免中文亂碼以及範例檔路徑有中文無法正確執行的問題。