Test Driver.cpp调用getName等三个函数输出错误调试求助
错误原因及修正方案
你代码里的三个问题都是调用get函数时用法不符合接口定义,具体如下:
getName调用错误:getName需要传入可容纳字符串的char数组,以及数组的实际大小。你原来只定义了单个char变量video,且传入的size为0,无法存储完整的字符串,也无法完成复制操作。getStockNo调用错误:该接口是返回值类型为long的函数,你调用后没有将返回值赋值给stkNo变量,导致变量一直是初始值0。getNoInStock调用错误:和getStockNo同理,调用后没有将返回值赋值给NoInStock变量,变量一直保持初始值0。
修正后的代码段(仅修改错误部分)
// 修正getName调用 char video[128]; int size = sizeof(video); gr1.getName(video, size); cout << "Getting Name: " << video << endl; // 修正getStockNo调用 long stkNo = 0; stkNo = gr1.getStockNo(); cout << "Getting Stock Number: " << stkNo << endl; int classification; gr1.getClassification(classification); cout << "Getting Classification: " << classification << endl; double price; gr1.getPrice(price); cout << "Getting Price: $" << price << endl; // 修正getNoInStock调用 int NoInStock = 0; NoInStock = gr1.getNoInStock(); cout << "Getting Number in Stock: " << NoInStock << endl;
内容的提问来源于stack exchange,提问作者MaciG13
相关产品推荐
相关产品推荐

