变量或字段`generateMonster'声明为void

时间:2012-09-25 20:58:04

标签: c++

  

可能重复:
  variable or field declared void

我正在开发一个项目,以解决一些功能问题。我一直得到一个错误,我知道这意味着我从未宣布过类型,但我知道我是。所有文件都包含.h和.cpp,所以我没有任何遗漏包含。

这是我称之为的函数 - 问题是generateMonster

int room1(charType& heroObj) {

    int r;
    roomType RoomObj;
    RoomObj.generateMonster(heroObj);

    cout << "There's a hiss as you open this door, and you smell a sour odor, like something rotten or fermented. Inside you see a small room lined with dusty shelves, crates, and barrels. It looks like someone once used this place as a larder, but it has been a long time since anyone came to retrieve food from it." << endl;
    cout << endl << "Room #1:\n 1. Door in the East corner of the North wall.\n 2. Door in the middle of the East wall.\n 3. Door in the east corner of the south wall.\n 4. Door in the West corner of the South wall.\n" << endl;
    doIt();
    cin >> r;
    if (!cin.good())
       cout << "That is not a valid option.  Please try again.";
       cin.clear();
       cin.ignore(100, '\n');

    system("cls");

    switch(r) {
              case 1:
                   genDoor();
                   hallway1(heroObj);
                   break;
              case 2:
                   genDoor();
                   hallway4(heroObj);
                   break;
              case 3:
                   genDoor();
                   hallway3(heroObj);
                   break;
              case 4:
                   genDoor();
                   hallway2(heroObj);
                   break;
    }

}

我的原型

class roomType
    {
    public:
     roomType();
     void generateMonster(charType& heroObj);
     void generateTreasure();

    private:
     int gold;
     int potion;
     int keys;
    };

和我的整体功能 - http://pastie.org/4799752

1 个答案:

答案 0 :(得分:2)

基于this question,问题似乎是编译器不知道声明charType的{​​{1}}是什么。可能在generateMonster(charType&)之前#include "charType.h"