未在此范围内声明的类(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+;+;) 我试图在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++,C++,我对这一点还不熟悉,仍在学习中,因此任何帮助都将不胜感激: 我的C++代码: #include <iostream> using namespace std; class Bank{ public: string getName(string) { string name; return name; } class Vaults{ public: string openVault(string) { //alows use

我对这一点还不熟悉,仍在学习中,因此任何帮助都将不胜感激:

<>我的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");



}
#包括
使用名称空间std;
班级银行{
公众:
字符串getName(字符串){
字符串名;
返回名称;
}
类保险库{
公众:
字符串openVault(字符串){//a允许用户打开vault
字符串库号;
返回保险库编号;
}
};
};
int main(){
//银行名称
银行获得;
金库得到;
银行名称字符串;
cout>银行名称;
字符串getName(“bankName”);
//银行名称末尾
//不工作???
字符串库号;
库号;
字符串openVault(“vault_编号”);
}

您有
保险库
作为
银行
的内部类。由于
保险库
银行
内部是公共的,因此您可以创建
保险库
的对象,如

Banks::Vaults get;
如果不打算创建内部类,最好将
保险库
作为一个单独的类移动,这样就可以像创建
银行
一样创建对象


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

如果您修复缩进,您将看到
库中声明了
。因此,在顶层没有
保险库
,只有
银行::保险库
保险库
银行
中的嵌套类,您需要引用它。我试图创建一个主类
银行
银行包含的所有东西,作为一个大类中包含的类。这不管用吗?我不明白你在问什么,你的代码毫无意义。这可能不是一个好的设计,但如果你像前面解释的那样正确地限定名称,它当然会管用。但不是用这个名称。已经有一个名为
get
的局部变量。当查看OPs代码的其余部分时,我怀疑仅此答案是否有帮助。。。。