没有成员可用于声明为类变量的对象

时间:2013-10-22 20:29:36

标签: c++ oop object member

我在解释这个问题时遇到了一些困难,所以这里是我的代码的简单概述:

想象一下,我有一个名为'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'中定义......

1 个答案:

答案 0 :(得分:1)

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

myWeapon->tostring()
//     ^^^^