背景:
C++ peimer 第七章第二小節的代碼
如果在同一個文件中編譯沒問題,但是如果分發到 .hpp 和 .cpp 兩個文件中,就會出現 error 2019 的錯誤
把內聯的幾個 inline 去掉后,就可以編譯編譯成功。此處是問題一,這個內聯定義影響到了C++編譯期鏈接中間函數名,這個是為什么
第二個是在測試
Screen myScreen(5,3); const Screen blank(5, 3); myScreen.set('#').display(cout); blank.display(cout);
時,會出現沒有對應的構造函數與之進行匹配。
我在類中又加了一個兩個參數的構造函數才得以通過
Screen(pos ht, pos wd) { height = ht; width = wd; }
Screen &set(char); inline Screen &set(pos, pos, char);
以上兩個函數中
如果對於第一個函數進行內聯修飾,會報錯
只能對於第二個函數進行內聯函數聲明