Question: 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

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(); } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!