Witam!
Mam problem - w czasie kompilacji programu wszystko przebiega ok, natomiast przy uruchomieniu dostaję informację o naruszeniu pamięci!
/* Plik main.cpp */
#include \\"point.h\\"
int main(int argc, char *argv[])
{
Point punkt; //ok
Point punkciki[800]; //ok
Point punkty[800] [600]; //powoduje naruszenie ochrony pamieci!
}
/************ end of main.cpp ***************/
/************** point.h *************************/
/* File point.h */
/* This prevent error of adding header multiple times */
#ifndef __CPP_POINT_H
#define __CPP_POINT_H
class Point
{
public:
int R, G, B; // Red, Green, Blue values
int A, I; // Alpha and Intensity values
Point(); // Class default constructor
Point(int r, int g, int b, int i = 0); // Class constructor
Point operator+(Point &rhs); // Adding operator for Point\\'s
};
#endif
/***************** end of point.h ***********************/
/***************** point.cpp ****************************/
#include \\"point.h\\"
Point::Point()
{
R = 0;
G = 0;
B = 0;
A = 0;
I = 0;
}
Point::Point(int r, int g, int b, int i)
{
R = r;
G = g;
B = b;
I = i;
A = 0;
}
Point Point::operator+(Point &rhs)
{
return (Point(rhs.R + R, rhs.G + G, rhs.B + B, rhs.I + I));
}
/************************ end of point.cpp ********************/
Konstrtuktory i ogólnei zakładanie działa dobrze dla pojedynczego punktu jak i wektora punktów, ale dla macierzy powoduje wywieszenie się na etapie konstrukcji obiektu...
Czy ktos ma jakieś pomysły jak to poprawić?