A C++ code error:Conditional jump or move depends on uninitialised value(s)
at 0x4013EC: sdds::Ship::set(char const*, sdds::Engine*, int)
Here'are my class and set() function:
class Ship
{
Engine* engine;
char* s_type;
int engineNo;
float distance;
public:
Ship();
Ship(const char* sh_type, Engine* e, int e_No);
~Ship();
bool empty() const;
float calculatePower() const;
Ship& operator+=(Engine e);
void display() const;
void setEmpty();
bool isValid() const;
void set(const char* sh_type, Engine* e, int e_No);
friend bool operator==(const Ship&, const Ship&);
};
void Ship::set(const char* sh_type, Engine* e, int e_No)
{
if (e != nullptr && sh_type != nullptr && e_No > 0)
{
delete[] engine;
delete[] s_type;
engine = new Engine[e_No];
for (int i = 0; i < e_No; i++)
{
this->engine[i] = e[i];
}
int size = strlen(sh_type);
s_type = new char[size + 1];
strcpy(this->s_type, sh_type);
s_type[size] = '\0';
engineNo = e_No;
}
else
{
setEmpty();
}
}

Respuesta :

RELAXING NOICE
Relax

Otras preguntas