I'm getting a C2106: '=' : left operand must be l-value
error on the line with
*shp[count]).area()=max;
and I'm not sure what that means. The shape class is a base class for all of the shapes and I'm trying to put them all in an array of type shape and find which one has the largest area
int largestArea()
{
float max =-99999;
int index = 0;
shape *shp[6];
shp[0 ]= new trapezoid (4,6,3);
shp[1 ]= new triangle (4,2);
shp[2 ]= new parallelogram (3,8);
shp[3 ]= new trapezoid (2,6,3);
shp[4 ]= new triangle (5,2);
shp[5 ]= new parallelogram (2,7);
for(int count=0;count<6;count++)
{
if((*shp[count]).area()>=max)
{
(*shp[count]).area()=max;
index = count;
}
}
return index;
You meant to assign max
. Try this:
max = (*shp[count]).area();