0

我很难解释这个问题,所以这里是我的代码的简单概要:

想象一下,我有一个名为“角色”的课程

#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' 中定义...

4

1 回答 1

1

由于myWeapon是一个指针,因此您需要取消引用它以访问指针对象的成员:

myWeapon->tostring()
//     ^^^^
于 2013-10-22T20:31:21.537 回答