-2
试图在C++中建立一个项目对于我的大学。 试图使用我为MyDate创建的方法在我的Main.cpp中 ,它不断让我堆栈o/f和“表达块类型是有效的”错误。表达式块类型是有效的//堆栈溢出
main.cpp中:
date1.setDay(8);
date1.setMonth(4);
date1.setYear(1994);
date1.setCmnt("Bday"); //problem with chars and pointers..
date1.print();
//Copy Constructor
date2 = date1;
date2.print();
MyDate.h:
void setCmnt(char *cmnt){
if (cmnt!=nullptr)
*c = *cmnt;
};
拷贝常数:
day=Date.day;
month=Date.month;
year=Date.year;
if (Date.c != nullptr)
{
c = new char[strlen(Date.c) + 1];
strcpy(c, Date.c);
//*c = *Date.c;
}
TNX很多的帮助家伙!
首先,我不得不说一个巨大的谢谢你帮我我的代码, 第二 - 是的,我知道的字符串,但我必须使用的char *。 也 - 真的很棒的改进,我从中学到了很多!谢谢! 最后 - 我的错误仍然buggin我:( 图片; http://tinypic.com/r/2n87czr/8 – unix14
这可能意味着,你删除一个指针已被删除。还要确保你!不存储指针/引用任何临时对象 –
你是对的 我去我的析构函数,那就是问题, {(!C = nullptr)\t如果删除[℃;} 我应该怎么办修复它? – unix14