Bonjour,

je débute actuellement en c++, j'ai un problème dont je n'arrive pas à résoudre, voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
struct Matrix
{
	int region = 0;
 
	struct limit
	{
		void display()
		{
			std::cout << region << std::endl;
		}
 
	}limit;
 
}matrix[4][20];
 
int main()
{
	matrix[0][1].region = 90;
 
	std::cout << matrix[0][0].region << std::endl;
	std::cout << matrix[0][1].region << std::endl;
 
 
	system("pause");
	return 0;
}
impossible de lire la variable region, ils me disent "une référence de membre non statique doit être relative à un objet spécifique", mais lorsque je la met en static, j'obtient la même valeur avec matrix[0][0].region et matrix[0][1].region :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
struct Matrix
{
	static int region;
 
	struct limit
	{
		void display()
		{
			std::cout << region << std::endl;
		}
 
	}limit;
 
}matrix[4][20];
 
int Matrix::region;
 
int main()
{
	matrix[0][1].region = 90;
 
	std::cout << matrix[0][0].region << std::endl;
	std::cout << matrix[0][1].region << std::endl;
 
 
	system("pause");
	return 0;
}