那么,我刚开始学习C++,我似乎有一些问题。具体来说,我必须制作一个重新制作游戏音乐椅的程序。对于这个我应该做两个班,一个名为成员,将有一个球员的位置和他们的身份证号码,并指向下一个(最后一名成员应指向第一。)。其次是一个名为连锁的类,它会指向第一个成员,并且也有一些可能的玩家。对于初学者,我应该创建一个基于参数N的链,它可以为每个成员提供一个随机ID并定位它们,当然也可以将这些权力相互联系起来。使用类别列表
我写的是
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
class Member{
public:
int position, number;
Member *next_member;
void Member2(Member *member_, int pos, int id,int N){
if(pos <= N){
member_->position=pos;
member_->number=id;
Member2 (member_->next_member, pos++, rand(), N);
if(pos == N)
member_->next_member = this;
}
}
};
class Chain {
Member *First_member;
int size;
public:
Chain (int N){
size = N;
srand(time(NULL));
First_member->Member2(First_member, 1 , rand(), N);
}
};
和主就叫链。
的问题是,当Member2由本身,整个事情崩溃调用。任何帮助都很好。
编辑:当试图调试它,它似乎还有当membber_使用Member2有叫Member2 isnide之后segmentantion故障。
您的指针不指向任何东西。你需要使用动态内存分配或类似unique_ptr的处理它。 – user1937198
你是什么意思的“自己调用”? – Ashalynd
另请参阅http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice关于为什么您不应该在代码顶部使用名称空间标准。 – user1937198