我知道这与我的指针有关,但我不确定为什么我也不知道如何解决它。感谢任何帮助。主要是非常糟糕,我知道,它目前正在测试阵列的输入。我不允许使用矢量或者这会更容易。
Main.cpp
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include "ToDoList.h"
using namespace std;
int main() {
string input;
ToDoList List(); // <-- ERROR HERE
for (int i = 0; i < 4; i++){
cout << "Input 'To Do' to add to list.";
cin >> input;
List.AddToArray(input); // <-- ERROR HERE
}
List.ListArray();
return 0;
}
ToDoList.cpp
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include "ToDoList.h"
using namespace std;
ToDoList::ToDoList() {
array_count = 3;
array = new string[3];
array_count_data = 0;
}
ToDoList::ToDoList(const ToDoList& L) {
array_count = L.array_count;
array_count_data = L.array_count_data;
for (int k = 0; k < array_count; k++)
array[k] = L.array[k];
}
ToDoList::~ToDoList() {
delete []array;
}
void ToDoList::AddToArray(string input){
if (array_count == array_count_data){
string * upsize_array = new string[array_count + 1];
for(int i = 0; i < array_count; i++)
upsize_array[i] = array[i];
delete [] array;
array_count++;
this->array[array_count];
for(int i = 0; i < array_count; i++)
array[i] = upsize_array[i];
delete [] upsize_array;
}
array[array_count_data] = input;
array_count_data++;
}
void ToDoList::ListArray(){
for(int j = 0; j < array_count_data; j++){
cout << array[j] << endl;
}
}