我在解释这个问题时遇到了一些困难,所以这里是我的代码的简单概述:
想象一下,我有一个名为'character'的课程
#include "myEnums"
#include "weapon"
character {
protected:
string characterName;
weapon* myWeapon;
public:
string getCharacterName();
void setCharacterName( string );
string getMyWeapon();
void setMyWeapon();
}
然后在'setMyWeapon'中我使用这个简化的代码。
void character::setMyWeapon() {
this->myWeapon = new weapon("longsword");
//this->myWeapon = new weapon(myEnums::LONGSWORD); //Ideally this
}
string getMyWeapon() {
return this->myWeapon.tostring();
}
但是当我输入'。'时对于'myWeapon',没有成员,任何人都知道什么?假设'tostring'在'weapon.h'中定义......
答案 0 :(得分:1)
由于myWeapon
是指针,因此您需要取消引用来访问指针对象的成员:
myWeapon->tostring()
// ^^^^