Tablica w klasie

0

Witam.
W swoim programie posiadam klasę robot której jednym z pól jest

char grid[6][6]

Chciał bym aby była ona wypełniona.

 robot::robot()  // <- wersja bez static
{
	
char temp[6][6] =  
	{
		{0, 0, 1, 0, 0, 0},
		{0, 0, 1, 0, 0, 0},
		{0, 0, 1, 0, 0, 0},
		{0, 0, 0, 0, 1, 0},
		{0, 0, 1, 1, 1, 0},
		{0, 0, 0, 0, 1, 0}
	};
	copy( temp, temp + 6 * 6, grid );	
}

Niestety powyższy zapis powoduje błąd. W założeniu każdy obiekty klasy robot ma posiadać te same pole " grid " jednak mogą występować różnice pomiędzy obiektami więc static jak na razie odpada. Próbowałem robić to na kilka sposobów i żaden z nich nie zadziałał. Podejrzewam, że problemem może być tablica dwuwymiarowa. Można by to było zrobić prawdopodobnie ręcznie ale nie na tym to polega.

0
#include <cstring>

 robot::robot()
{
	
char temp[6][6] =  
	{
		{0, 0, 1, 0, 0, 0},
		{0, 0, 1, 0, 0, 0},
		{0, 0, 1, 0, 0, 0},
		{0, 0, 0, 0, 1, 0},
		{0, 0, 1, 1, 1, 0},
		{0, 0, 0, 0, 1, 0}
	};
	std::memcpy( grid, temp, sizeof(grid) );	
}
0

Można jeszcze lepiej

typedef char Grid[6][6];
Grid grid;
        Grid temp =  
        {
                {0, 0, 1, 0, 0, 0},
                {0, 0, 1, 0, 0, 0},
                {0, 0, 1, 0, 0, 0},
                {0, 0, 0, 0, 1, 0},
                {0, 0, 1, 1, 1, 0},
                {0, 0, 0, 0, 1, 0}
        };
        memcpy(&grid, &temp, sizeof(Grid));

1 użytkowników online, w tym zalogowanych: 0, gości: 1