好吧,我试图修复这个程序,但我不断收到错误:
错误 1 错误 LNK2019:函数 _main 中引用的未解析的外部符号“public: __thiscall ExcedeRangoInferior::ExcedeRangoInferior(void)”(??0ExcedeRangoInferior@@QAE@XZ)
错误 2 错误 LNK2019:函数 _main 中引用的未解析外部符号“public: __thiscall ExcedeRangoSuperior::ExcedeRangoSuperior(void)”(??0ExcedeRangoSuperior@@QAE@XZ)
代码如下:程序请求一个值,如果该值超出最小或最大范围,则抛出异常
#include <iostream>
#include <exception>
class ExcepcionRango : public std::exception{
protected:
ExcepcionRango();
public:
virtual const char* lanzarExcepcion()=0;
};
class ExcedeRangoInferior : public ExcepcionRango{
public:
ExcedeRangoInferior();
const char* lanzarExcepcion() throw(){ //throw exception
return "Value out of minimal range";
}
};
class ExcedeRangoSuperior : public ExcepcionRango{
public:
ExcedeRangoSuperior();
const char* lanzarExcepcion() throw(){ //throw exception
return "value out of maximal range";
}
};
int obtainValue(int minimo, int maximo){ //obtain value
int valor; //value
std::cout<<"Introduce a value between "<<minimo<<" and "<<maximo<<" : "<<std::endl;
std::cin>>valor;
return valor;
};
int main(){
ExcedeRangoSuperior* exS = new ExcedeRangoSuperior();
ExcedeRangoInferior* exI= new ExcedeRangoInferior();
int min=3;
int max=10;
int valor=0; //value
try{
valor=obtainValue(min,max);
}catch(int){
if(valor<min){
exS->lanzarExcepcion();
}
if(valor>max){
exI->lanzarExcepcion();
}
}
delete exS;
delete exI;
std::cin.get();
}
PD:这是一个家庭作业,它的目标是修复它的错误,让它正常运行,正如我在这里问的最后一件事所看到的那样,这段代码似乎可以显示更多错误,比如语法错误,也许是设计以及结构性错误。