C++;:未被认可的班级成员 我对C++(java后台)相当陌生,我试图访问我创建的类的成员,但是在试图调用类成员时,我总是得到错误消息,它说变量不是类的成员。< /P>
知道为什么会这样吗?我看过很多其他有这个问题的人的例子,但没有一个能帮我找到原因 Main.cppC++;:未被认可的班级成员 我对C++(java后台)相当陌生,我试图访问我创建的类的成员,但是在试图调用类成员时,我总是得到错误消息,它说变量不是类的成员。< /P>,c++,class,member,C++,Class,Member,知道为什么会这样吗?我看过很多其他有这个问题的人的例子,但没有一个能帮我找到原因 Main.cpp #include "stdafx.h" #include "Adressbuch.h" #include "Kontakt.h" #include <iostream> #include <sstream> using namespace std; Adressbuch hinzufügen(Adressbuch buch); Adressbuch löschen(Ad
#include "stdafx.h"
#include "Adressbuch.h"
#include "Kontakt.h"
#include <iostream>
#include <sstream>
using namespace std;
Adressbuch hinzufügen(Adressbuch buch);
Adressbuch löschen(Adressbuch buch);
void auflisten(Adressbuch buch);
int main()
{
bool end = true;
Adressbuch buch;
while (end) {
cout << "Bitte geben sie ein Aktion ein: (hinzufügen(h)/löschen(l)/beenden(b)/auflisten(a))"
<< endl << "zur Zeit gibt es " << buch.adress_buch.size() << " Kontakte" << endl;
if (cin >> "h") buch = hinzufügen(buch);
else if (cin >> "l") buch = löschen(buch);
else if (cin >> "a") auflisten(buch);
else if (cin >> "b") end = true;
else cout << "Error. Ungultig Eingabe." << endl;
}
return 0;
#include "Adressbuch.h"
#include "Kontakt.h"
#include <list>
using namespace std;
Adressbuch::Adressbuch(){
adress_buch;
}
Adressbuch::~Adressbuch(){
}
void Adressbuch::hinzufügen(Kontakt k){
adress_buch.push_back(k);
}
void Adressbuch::löschen(Kontakt k) {
adress_buch.remove(k);
}
首先是一个最小的、完整的可验证示例,该示例只包含触发错误所需的代码:
#include <list>
using namespace std;
class Adressbuch
{
public:
list<int> Adressbuch::adress_buch;
};
int main()
{
Adressbuch buch;
buch.adress_buch.size();
return 0;
}
或者更好
#include <list>
class Adressbuch
{
public:
std::list<int> adress_buch;
};
int main()
{
Adressbuch buch;
buch.adress_buch.size();
return 0;
}
#包括
类地址
{
公众:
标准:列表地址;
};
int main()
{
地址buch-buch;
buch.address_buch.size();
返回0;
}
因为删除了
你需要在代码中包含“KoTakt.h”/Cuth.Suff.在我的实际代码中,我忘记了把它放在主代码部分,你需要学习一些基本的C++。函数的调用不会造成任何错误,只是那个成员AdRSSBuBuh,这是唯一一个让我好奇的错误,什么是address\u buch代码>在构造函数中露营?和列表地址buch::address\u buch代码>,则不需要地址buch::
。感谢您的示例,我们将在将来使用此实践,并且添加std::cast似乎可以为我修复错误
#include <list>
using namespace std;
class Adressbuch
{
public:
list<int> Adressbuch::adress_buch;
};
int main()
{
Adressbuch buch;
buch.adress_buch.size();
return 0;
}
list<int> Adressbuch::adress_buch;
#include <list>
using namespace std;
class Adressbuch
{
public:
list<int> adress_buch;
};
int main()
{
Adressbuch buch;
buch.adress_buch.size();
return 0;
}
#include <list>
class Adressbuch
{
public:
std::list<int> adress_buch;
};
int main()
{
Adressbuch buch;
buch.adress_buch.size();
return 0;
}