2013-10-22 30 views
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”定义...

回答

1

由于myWeapon是一个指针,你需要提领它来访问指针对象的成员:

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