未在此范围内声明的类(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++中创建一种银行游戏(纯文本)。但是,在尝试从我的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
#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代码的其余部分时,我怀疑仅此答案是否有帮助。。。。