【发布时间】:2011-07-18 14:39:29
【问题描述】:
这里我有一个函数,它创建一个字符串,将它分配给一个字符串指针,然后返回它。我尝试返回一个常规字符串,它工作正常。但是当我集成指针并取消引用它们时,我的程序崩溃了。当我尝试调试它时,这是我得到的消息:
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_;
}
【问题讨论】:
-
非常感谢您的所有回复,现在我已修复它并且它正在工作。我忘了分配内存:S。我知道这样做更容易,但我必须编写一个符合某些规范的程序。正在实现这个功能其中之一。
标签: c++ pointers string runtime-error dereference