Waiting for answer This question has not been answered yet. You can hire a professional tutor to get the answer.
error C2784: 'class std:reverse_iteratorlt;_RI,_Ty,_Rt,_Pt,_Dgt; __cdecl std:operator +(_D,const class std:
When I compile the function program for the attached question, I got the following errors:error C2784: 'class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> __cdecl std::operator +(_D,const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &)' : could not deduce template argument for '' from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'error C2676: binary '+' : 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' does not define this operator or a conversion to a type acceptable to the predefined operatorError executing cl.exe.Can you tell me how to fix the problem?#include<iostream>#include <string.h>#include <math.h>using namespace std; double rectangle(); double circle();double triangle();double square(); double get(string);int main(){double area=0;char input;do{ cout<<"Enter a shape:n"; cout<<"Circle (C)nSquare (S)nRectangle (R)nTriangle (T)nexit(E):n"; cin>>input; switch(input){case 'c':case 'C':area=circle();break;case 's':case 'S':area=square();break;case 'r':case 'R':area=rectangle();break; case 't':case 'T':area=triangle();break;case 'e':case 'E':return 0;default:cout<<"invalid entryn";}cout<<"nArea="<<area<<"nn";}while(true);}double square(){double a=get("length"); return a*a;} double rectangle(){double a=get("length"); double b=get("width");return a*b;} double triangle(){double a=get("side A"); double b=get("side B"); double c=get("side C"); double s=(a+b+c)/2.;return sqrt(s*(s-a)*(s-b)*(s-c));} double circle(){double a=get("radius");return a*a*3.14159;} double get(string mess){double a; do {cout<<"Enter a value for "<<mess+": ";cin>>a;if(a<=0)cout<<"Invalid entry- redo";}while(a<=0);return a;