ここに、文字列を作成し、それを文字列ポインタに割り当てて返す関数があります。通常の文字列を返してみましたが、うまくいきました。しかし、ポインターを統合して参照を解除すると、プログラムがクラッシュしました。私がそれをデバッグしようとしたとき、これは私が得たメッセージです:
Unhandled exception at 0x00024cbf in Assignment 2.exe: 0xC0000005: Access violation reading location 0xcccccce4
。
これが私のコードです:
string* Recipe::getCookingTime()
// @intput: none
// @output: cooking time as a string
{
string temp;
string displayHrs;
string displayMins;
if( cookingTime_->numHours < 10 )
displayHrs = intToString(0) + intToString(cookingTime_->numHours );
else
displayHrs = intToString(cookingTime_->numHours );
if( cookingTime_->numMinutes < 10 )
displayMins = intToString(0) + intToString(cookingTime_->numMinutes);
else
displayMins = intToString(cookingTime_->numMinutes);
temp = "The time to cook the recipe is " + displayHrs + ":" + displayMins;
*cTime_ = temp;
return cTime_;
}