Bonsoir à toutes et à tous,

Dans le cadre de mes études, j'apprends à programmer en C++ et je rencontre quelques difficultés lors de la mise en pratique.

Je dois réaliser une classe Vecteur ayant comme attribut une taille et un pointeur sur un tableau contenant les valeurs. Je rencontre un soucis dès le début lors du constructeur par défaut.

Vecteur.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class Vecteur
{
	private:
		int taille; // Dimension du vecteur
		float *tab[]; // Données du vecteur
 
	public:
		Vecteur(); // Constructeur par défaut
};
Vecteur.cc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Vecteur::Vecteur():taille(0)
{
	tab = NULL;
}
D'après mon cours, je dois utiliser cette technique pour déclarer la variable tab à NULL. Or, lorsque je compile, j'obtiens l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Vecteur.cc:15:11: erreur: incompatible types in assignment of ‘long int’ to ‘float* [0]
Pour que cela marche je dois remplacer :

Par :

Cependant, je rencontre des soucis dans la suite dans mon code lorsque je souhaite récupérer les valeurs comprises dans ce tableau comme par exemple via la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
float& vecteur::operator[](const int i)
{
	return tab[i];
}
Merci d'avance

Cordialement.