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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started