首先我想说这是一次学校运动。我试图学习的不仅仅是复制/粘贴答案。正确方向的提示会很棒。如果这个问题不符合本网站的任何规则,我很抱歉。
所以我的问题是我创建了一组卡片,它列出了一个数组中的每张卡片(一个int)。第一个工作正常,但在第二张卡上我的程序崩溃了。
我留下了一些代码。我并不担心所有的功能。我的程序在构造函数区域崩溃。它编译很好但在执行中崩溃。那里有一个非常简单的错误。谢谢!
CardSet.cpp
<div *ngIf="bioData">
<p>{{bioData.name}}</p>
<p>{{bioData.age}}</p>
</div>
的main.cpp
#include <iostream>
#include "CardSet.h"
using namespace std;
CardSet::CardSet()
{
nCards = 0;
}
CardSet::CardSet(int Input_Card_Amount)
{
nCards = Input_Card_Amount;
int quot = (int)nCards / 52;
int rem = nCards % 52;
int Sets_Of_Cards = 0;
int Card_Index = 0;
while(Sets_Of_Cards != quot)
{
for(int Card_Counter = 0; Card_Counter < 52; Card_Counter++)
{
Card[Card_Index] = Card_Counter;
Card_Index++;
}
Sets_Of_Cards++;
}
for(int Card_Counter = 0; Card_Counter < rem; Card_Counter++)
{
Card[Card_Index] = Card_Counter;
Card_Index++;
}
}
CardSet::~CardSet()
{
delete[] Card;
}
CardSet.h
int main()
{
CardSet CardSet1(12), CardSet2(12), CardSet3, CardSet4, CardSet5, CardSet6;
cout << "BEGINNING OF CARDSET TESTS . . . "<< endl << endl;
cout << "Test 1: Constructors:" << endl;
cout << "CardSet1 Size: " << CardSet1.Size() << endl;
cout << "CardSet3 Size: " << CardSet3.Size() << endl;
cout << "Printout of CardSet1:" << endl;
CardSet1.Print();
cout << "Printout of CardSet2:" << endl;
CardSet2.Print();
cout << endl;
enter code here
cout << ". . . END OF TESTS"<< endl;
return 0;
}
答案 0 :(得分:0)
您需要分配卡片。对不起,我正在通过手机接听,所以有点棘手,但基本上你需要去
Card = new int[52]
在尝试访问卡阵列之前。即,在你的while循环之前。
希望有所帮助