当一个int类型函数失败时,该返回什么?解决方法
当一个int类型函数失败时,该返回什么?
int SqList::Get(int position)
{
if(position <1 || position> count)
//这里该返回一个什么
else
{
return elem[position-1];
}
}
对于这样的一个函数,假如if成立就表示本函数失败,这个时候该返回什么呢??
------解决方案--------------------
可以参考STL的vector的at接口
------解决方案--------------------
要是都有冲突的话 throw一个异常吧
------解决方案--------------------
一般来说都是返回一个负值,具体是几可以自己定义的.比如:
#define ERROR_NOT_ENOUGH_MEMORY -1
#define ERROR_BAD_POINTER -2
#define ERROR_NOT_SUPPORT_FUNCTION -3
这样就直接return ERROR_BAD_POINTER或者其它就可以了,这样方便修改具体的值,最好不要直接return -1这样.
int SqList::Get(int position)
{
if(position <1 || position> count)
//这里该返回一个什么
else
{
return elem[position-1];
}
}
对于这样的一个函数,假如if成立就表示本函数失败,这个时候该返回什么呢??
------解决方案--------------------
可以参考STL的vector的at接口
------解决方案--------------------
要是都有冲突的话 throw一个异常吧
------解决方案--------------------
一般来说都是返回一个负值,具体是几可以自己定义的.比如:
#define ERROR_NOT_ENOUGH_MEMORY -1
#define ERROR_BAD_POINTER -2
#define ERROR_NOT_SUPPORT_FUNCTION -3
这样就直接return ERROR_BAD_POINTER或者其它就可以了,这样方便修改具体的值,最好不要直接return -1这样.