C++ 错误C2106:&x27=';:左操作数必须是l值c++;

C++ 错误C2106:&x27=';:左操作数必须是l值c++;,c++,inheritance,polymorphism,dynamic-memory-allocation,lvalue,C++,Inheritance,Polymorphism,Dynamic Memory Allocation,Lvalue,我得到一个C2106:“=”:左操作数必须是l值 *shp[count])。面积()=max

我得到一个
C2106:“=”:左操作数必须是l值
*shp[count])。面积()=max
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;   
int largestrea()
{
浮动最大值=-99999;
int指数=0;
形状*shp[6];
shp[0]=新梯形(4,6,3);
shp[1]=新三角形(4,2);
shp[2]=新的平行四边形(3,8);
shp[3]=新梯形(2,6,3);
shp[4]=新三角形(5,2);
shp[5]=新的平行四边形(2,7);
对于(整数计数=0;计数=最大值)
{
(*shp[count])。面积()=最大值;
指数=计数;
}
}
收益指数;

您的意思是分配
max
。试试这个:

max = (*shp[count]).area();

您打算分配
max
。试试这个:

max = (*shp[count]).area();

我知道我有点离题了

你为什么不写这个

size_t index = 0; 
float max = (*shp[0]).area(); 

for(int count=1;count<6;count++)
{
    if((*shp[count]).area()>=max)
    {
        max = (*shp[count]).area();
        index = count;
    }
} 

这是令人不愉快的

我知道我有点离题了

你为什么不写这个

size_t index = 0; 
float max = (*shp[0]).area(); 

for(int count=1;count<6;count++)
{
    if((*shp[count]).area()>=max)
    {
        max = (*shp[count]).area();
        index = count;
    }
} 

这是令人不愉快的

area()
返回什么?该错误表示您正试图分配给不可分配的对象。因此,可能是重复的,您对该
(*shp[count])的意图是什么。area()=max
分配?通过此操作,您试图做什么?@Adam area()返回浮点中各个区域的形状,
area()
返回什么?该错误表示您试图分配给不可分配的对象。因此,可能是重复的,您对该
(*shp[count])分配的意图是什么。area()=max
分配?你想用这个做什么?@Adam area()在一个float中返回各个区域的形状哈哈哇我是个白痴这是我第二次这么做我想这可能是问题所在。。。。。非常感谢这就是问题所在哈哈哇我是个白痴这是我第二次这么做我想这可能是问题所在。。。。。非常感谢,这是问题。感谢小费会考虑下一次TiMaNek的提示将考虑下一次。