未在此范围内声明的类(c ++)

时间:2017-11-09 17:10:58

标签: c++

我正在尝试用c ++创建一种银行游戏(仅限文本)。但是,当我尝试从int main()调用一个类时,我遇到了问题。它给了我这两个错误:

main.cpp: In function 'int main()':
main.cpp:31:3: error: 'Vaults' was not declared in this scope
   Vaults open;
   ^~~~~~
main.cpp:31:3: note: suggested alternative: 'puts'
   Vaults open;
   ^~~~~~
   puts

exit status 1

我是新手,并且还在学习,所以任何帮助都会受到赞赏:

我的C ++代码:

    #include <iostream>

using namespace std;


class Bank{
  public:
    string getName(string) {
    string name;
    return name;
   }
class Vaults{
  public:



  string openVault(string) { //alows user to open a vault
    string vault_number;
    return vault_number;
  }
};
};





int main(){
  //name of bank
  Bank get;
  Vaults get;
  string bankName;
  cout << "What is the name of your bank? : ";
  cin >> bankName;
  string getName("bankName");
  //end of name of bank

  //not working ???

  string vault_number;
  cout << "Which vault do you want to open?" << endl;
  cin >> vault_number;
  string openVault("vault_number");



}

1 个答案:

答案 0 :(得分:4)

您有Vaults作为Banks的内部类。由于vaultsBanks内是公开的,您可以创建Vaults的对象

Banks::Vaults get;

如果不打算创建内部类,最好将Vaults作为单独的类移动,然后就可以像创建Bank一样创建对象。

编辑:如果您的目标是创建一个主类银行以及银行包含的所有内容,您应该阅读composition