有一个对象数组,要向其中添加对象,我尝试以下操作:
Shape ShapeList[30];
void addShape(Shape s)
{
for(int i=0; i<30;i++)
{
if(ShapeList[i] != '\0')
{ i++;}
else
{
ShapeList[i]=s;
numShapes++;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
numShapes是一个整型变量,Shape 是类,ShapeList 是对象数组。但是编译器会以这种方式给出错误,!=不允许使用运算符。那么我该如何实现呢?
我认为你需要更改你的“容器”声明:
Shape *ShapeList[30];
void addShape(Shape *s)
{
for(int i=0; i<30;i++)
{
if(ShapeList[i])
{ i++;}
else
{
ShapeList[i]=s;
numShapes++;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
并以这种方式调用 addShape:
addShape(new Shape());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36655 次 |
| 最近记录: |