我用c ++为我的项目编写程序;但是,我无法添加"返回警告信息"在我的算法中。
我的algrotihm;
#include<iostream>
#include<conio.h>
using namespace std;
const int k=100;
class safearay{
int arr[k];
int getel(int index){ if(index>-1 && index<k) return arr[index];}};
void main(void)
{
cout<<"-------------------------------------------------------------------------------\n"<<endl;
safearay safea1; int temp=23456;
for{
safea1.putel(7, temp); temp=safea1.getel(7);
cout<<temp;
cout<<"\n\n !Press k to continue."<<endl<<endl;
}while(getch()=='k');
}
如何添加警告信息&#39;部?
答案 0 :(得分:2)
一种方法是返回一个标记,指出putel
函数出错并在main中打印错误。
bool putel(int index, int value){
if(index <= -1 || index == 10 || index > LIMIT) {//the conditions that are invalid
return false;
}
arr[index]=value;
return true;
}
以及像这样的主要内容
do{
if(!safea1.putel(7, temp)){
cout<<"Insert failed "<<endl; //Your warning message
} else {
temp=safea1.getel(7);
cout<<temp;
cout<<"\n\n !Press k to continue."<<endl<<endl;
} while(getch()=='k');
我希望这就是你要找的......
答案 1 :(得分:1)
您可以使用throw
,例如:
class safearray
{
public:
void putel(int index, int value) { check_index(index); arr[index] = value;}
int getel(int index) const { check_index(index); return arr[index];}
private:
void check_index(int index) const
{
if (index < 0 || LIMIT <= index) {
throw std::out_of_range("bad index " + std::to_string(index) + " for safearray");
}
}
private:
int arr[LIMIT];
};