作者chickenwing (雞翅膀)
看板EE_DSnP
標題[問題] cmdModNum
時間Sat Oct 31 16:04:14 2009
在寫cmdModNum.h時,
當在default constructor或者是operator function中,
用_modulus,或者getModulus()時,
compiler就會說undefined reference to `ModNum::_modulus',
然後不能通過。
這個是甚麼問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.243.131
1F:推 a3785lexx:好像要載.cpp重宣告ModNum::_modulus? 10/31 16:31
2F:→ a3785lexx:偷偷問一下,我剛剛突然發現我在.cpp要用_modulus的時候 10/31 17:11
3F:→ a3785lexx:直接寫_modulus居然過了而且可以跑... 10/31 17:11
4F:→ a3785lexx:但是_varMap卻不給過...雖然那時候我還沒有作 10/31 17:12
5F:→ a3785lexx:_varMap的dummy重宣告...是只要有在.cpp裡面重宣告 10/31 17:12
6F:→ a3785lexx:使用的時候就可以不用加::運算元嗎?? 10/31 17:12
7F:推 slinh:同樣困擾 還不知怎麼解決 10/31 23:44
8F:推 ric2k1:1. static data member一定要在 .cpp 裡被 initialized 11/01 14:03
9F:→ ric2k1: 不是重宣告 (不用加上 static 這個 keyword) 11/01 14:04
10F:→ ric2k1:2. 你如果是在 ModNum 這個 class scope 裡面對它的 data 11/01 14:05
11F:→ ric2k1: member (即使是 static) 當然不用加 ModNum:: 11/01 14:06
12F:→ ric2k1:3. _varMap 應該也是一樣的原理吧? 11/01 14:07
13F:→ chickenwing:可以了~謝謝教授 11/01 20:44
14F:→ a3785lexx:感謝教授解答! 11/01 23:50