私はこれで半日過ごしましたが、ヴァルグリンドが不満を抱いている理由がわかりません.
Valgrind は泣き言を言います:
==25658== Invalid write of size 4
==25658== at 0x40242F: MyObject::copy(MyObject const&) (MyObject.cpp:96)
==25658== by 0x402264: MyObject::operator=(MyObject const&) (MyObject.cpp:40)
MyObject.cpp:96 は私のコピー機能にあります
94 void MyObject::copy(const MyObject & other)
95 {
96 myVariable = other.myVariable;
MyObject.cpp:40 は代入演算子にあります
36 MyObject & MyObject::operator=(const MyObject & other)
37 {
38 if (this != &other)
39 {
40 copy(other);
41 }
42 return *this;
43 }
MyVariable は String 型です
17 class MyObject
18 {
19 public:
20
21 /** My Variable */
22 string myVariable;
Valgrind がこのコードの問題を検出する理由がわかりません。私は何が欠けていますか?