怎样解决not all control paths return a value警告?(6行程序,VC++6)
怎样解决not all control paths return a value警告?(VC++6)
例如,这样一个函数:
//重载的(),访问行x,列y的元素
int &DoubleSubscriptArray::operator()( int x, int y )
{
if( x >= 0 && x <= row && y >= 0 && y <= column )
return data[ x ][ y ];
else //编译器发现这条路径不会返回值
cout << "错误!没有此元素!" << endl;
}
编译器会对它警告,说在这个函数里,并非所有路径都能返回一个值。可是,当输入的数据有问题的时候(x或者y的值是非法的),我应该返回什么呢?正常的数据可以是任何整数,那我该返回什么东东,才能表示失败的函数调用呢?
或者,不理会编译器的警告,会有什么问题吗?
还是应该更改一下程序的结构呢?