C++ öğrenmekteyim yazdığım bir class örneğinde arabellek taşması oluştu şeklinde bir hata almaktayım.Arabellek taşması copy-constructorda oluşmakta copyconstructora kadar olan alanı aşağıya atıyorum yardımcı olursanız sevinirim
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <math.h>
#include <string.h>
using namespace std;
class Array
{
int* data, size, capacity;
int findIndex(int number, int b = 0);
public:
Array(int user_capacity = 5);
Array();
Array(const Array& copyArray);
int getSize() const;
int getCapacity() const;
void AddItem(int number);
void printItems();
void removeIndexItem(int index);
void removeItem(int number);
void findElement(int number, int b = 0);
};
Array::Array(int user_capacity)
{
capacity = user_capacity;
size = 0;
data = new int[capacity];
cout << "Array created capacity = " << capacity << endl;
}
Array::Array()
{
delete[] data;
cout << "Array destroyed" << endl;
}
Array::Array(const Array& copyArray)
{
capacity = copyArray.capacity;
size = copyArray.size;
data = new int[capacity];
for (int i = 0; i < copyArray.size; i++)
{
data = copyArray.data; //Hata burada oluşmaktadır.
}
cout << "Array copied to target" << endl;
}