- 219 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 11:06:03 ID:1h86Cx8E]
- 続き。
問題はconst。 constオブジェクトからはconst以外のメンバ関数の呼び出しはエラー になるし、当然、const関数ではメンバ変数への代入がエラーになる。 具体的に、 MetaStatus * Job::getGrowth(void) をconst Jobから呼ぼうとすると、 const MetaStatus * Job::getGrowth(void) const にする必要があり、この戻り値はjobのメンバ変数で、 この関数ではそのメンバ変数に代入して返そうとするのでエラー。 参照渡しにして、 void Job::getGrowth(MetaStatus &metaStatus) const{ metaStatus.setSTR(GetRand(status.getSTR())); metaStatus.setCON(GetRand(status.getCON())); metaStatus.setDEX(GetRand(status.getDEX())); metaStatus.setINT(GetRand(status.getINT())); metaStatus.setLUC(GetRand(status.getLUC())); } 呼び出し側で、 MetaStatus growth; party->getMember(i)->getJob()->getGrowth(growth); とするとOK。 長くなったけど、まだ他にもたくさんconst関連のエラーが出てる。 あとは>1が自分でやってちょ。
|

|