Witam , dla sportu postanowiłem zaimplementować "Grę w życie" i pierwsza ściana na jaką napotkałem , to problem z dynamicznym tworzeniem i usuwaniem obiektów. Otóż jest klasa Cell oraz klasa Playground. Wywołując konstruktor obiektu klasy Playground , chcę tworzyć tablicę obiektów klasy Cell. Następnie pracować na nich wewnątrz tej klasy a następnie w destruktorze obiektu klasy Playground zwolnić tą tablicę. Niestety problemem jest to , że o ile zaalokuję taką tablicę w konstruktorze , to już w żadnej metodzie ani destruktorze nie jest ona widoczna. Wpisałem więc jako składową klasy Playground wskaźnik na obiekt klasy Cell , lecz Visual Studio nie chce mi tego przepuścić.
Co robię źle?
Może niewłaściwie podszedłem do problemu?
Proszę uprzejmie o pomoc :)
Playground.cpp
#include "Playground.h"
#include "Cell.h"
#include <iostream>
using namespace std;
Playground::Playground(int inputSize)
{
this->PlaygroundSize = inputSize;
Cell *CellVector = new Cell[PlaygroundSize*PlaygroundSize];
cout << "Utworzono Plansze";
}
Playground::~Playground()
{
delete[]CellVector;
cout << "Usunieto plansze";
}
void Calculate()
{
cout << "Obliczono.";
}
void Display()
{
cout << "Wyswietlono.";
}
Playground.h
#pragma once
class Playground
{
public:
Playground(int);
virtual ~Playground();
void Calculate();
void Display();
private:
int PlaygroundSize;
Cell *CellVector;
};
Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\mariusz\skydrive\documents\projekty\gameoflife\gameoflife\playground.h 11 1 GameOfLife
Error 6 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\mariusz\skydrive\documents\projekty\gameoflife\gameoflife\playground.h 11 1 GameOfLife
Error 4 error C2541: 'delete' : cannot delete objects that are not pointers c:\users\mariusz\skydrive\documents\projekty\gameoflife\gameoflife\playground.cpp 15 1 GameOfLife
Error 1 error C2143: syntax error : missing ';' before '*' c:\users\mariusz\skydrive\documents\projekty\gameoflife\gameoflife\playground.h 11 1 GameOfLife
Error 5 error C2143: syntax error : missing ';' before '*' c:\users\mariusz\skydrive\documents\projekty\gameoflife\gameoflife\playground.h 11 1 GameOfLife
Error 3 error C2065: 'CellVector' : undeclared identifier c:\users\mariusz\skydrive\documents\projekty\gameoflife\gameoflife\playground.cpp 15 1 GameOfLife
Podejrzewam , że błąd dotyczy tego , że nie mogę tak po prostu użyć nazwy jednej klasy jako typu w deklaracji innej klasy lecz nie wiem jak to lepiej zapisać.