作者FATCLOUD (A Cloud)
看板EE_DSnP
標題[問題] unqualified-id before「const」
時間Fri Apr 10 23:53:24 2009
教授我面臨了一個疑問
我在 calcModNum.h 裡頭宣告了一些 operator 函數像這樣
const ModNum& operator+ (const ModNum&);
const ModNum& operator+= (const ModNum&);
...
然後到 calcModNum.cpp 裡宣告這個
ModNum::const ModNum& operator+ (const ModNum& a)
{
...
}
ModNum::const ModNum& operator+= (const ModNum& a)
{
...
}
結果 compile 出來時錯誤行號顯示是我的 .cpp 檔裡面的
ModNum::const ModNum& operator+ (const ModNum& a) 這種東西出錯
錯誤是 "expected unqualified-id before 「const」"
我只要把 const 改掉錯誤訊息就沒了
但是我仍然完全莫名其妙
而且看起來也不像會對的樣子
要拜託教授解釋了 囧
另外還想問一下
究竟要怎麼初始化 static _modulus 呀
我這樣子寫在 .cpp 檔裡面
ModNum::_modulus=100000000;
它不給我過
說是 expected constructor, destructor, or type conversion before 「=」 token;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.75
1F:推 timrau:Should be "const ModNum& ModNum::operator+(const ModNum 04/11 00:11
2F:→ timrau:const ModNum& a) { } 04/11 00:11
3F:→ timrau:以及 unsigned ModNum::_modulus = 100000000; 04/11 00:12
4F:推 ric2k1:感謝回答, 不過 _modulus 是 int... 所以應該是: 04/11 00:43
5F:→ ric2k1:int ModNum::_modulus = 100000000; 04/11 00:44
6F:→ timrau:反正data type錯了compiler自然會指出來....XD 04/11 01:11
7F:→ FATCLOUD:感謝~ 04/11 01:45