Je déclare mon objet struct dans ma classe private et je les initialise en utilisant des constructeurs mais mon vérificateur de style dit que la fonction membre de mon type struct n'est pas initialisée. Quelqu'un peut-il m'aider à cet égard, je serai très reconnaissant envers vous.initialise l'objet struct déclaré dans la classe private en C++
Ci-dessous est mon code s'il vous plaît suggérer une solution à ce problème
class Datastructure{
//forward decleration
struct Ship;
public:
//Constructor DS class
Datastructure();
//Destructor DS class
~Datastructure();
private:
struct Ship{
std::string s_class;
std::string name;
unsigned int length;
Ship();
Ship(const std::string& shipClass, const std::string& shipName,
unsigned int len);
};
Ship minShip;
Ship maxShip;
std::vector<Ship> shipVector;
};
#endif
il me donne les avertissements suivants
CIMP, line 17: Uninitialized member variables in class 'Datastructure'.
FSCH, line 17: No access specifiers at the beginning of class
'Datastructure'.
IVAP, line 62: Field 'minShip' in class 'Datastructure' is not initialized.
IVAP, line 63: Field 'maxShip' in class 'Datastructure' is not initialized.
IVAP, line 64: Field 'shipVector' in class 'Datastructure' is not
initialized.
Quels compilateurs utilisent et quelles sont les options du compilateur? Ils ressemblent à des avertissements. Pouvez-vous exécuter votre code? –
Quel vérificateur de style utilisez-vous? 'Ship' et' std :: vector' ont tous les deux des constructeurs déclarés par l'utilisateur (pour une définition appropriée de l'utilisateur), donc il n'est pas possible que des instances de ceux-ci soient laissées non initialisées. –