以下代码编译时出现问题,在All Output窗口中显示“(lldb) ”,本人初学者,请教高手,问题出在哪里?#import <Foundation/Foundation.h>typedef enum {
kCircle,
kRectangle,
kOblateSpheroid
} ShapeType;typedef enum {
kRedColor,
kGreenColor,
kBlueColor
} ShapeColor;typedef struct {
int x, y, width, height;
}ShapeRect;typedef struct {
ShapeType type;
ShapeColor fillColor;
ShapeRect bounds;
}Shape;NSString *colorName(ShapeColor colorName)
{
switch(colorName) {
case kRedColor:
return (@"red");
break;
case kGreenColor:
return (@"green");
break;
case kBlueColor:
return (@"blue");
break;
}
return (@"no clue");
}void drawCircle(ShapeRect bounds,ShapeColor fillColor)
{
NSLog(@"drawing a circle at (%d %d %d %d) in %@",bounds.x, bounds.y, bounds.width, bounds.height, colorName(fillColor));
}void drawRectangle(ShapeRect bounds,ShapeColor fillColor)
{
NSLog(@"drawing a Rectangle at (%d %d %d %d) in %@",bounds.x, bounds.y, bounds.width, bounds.height, colorName(fillColor));
}void drawEgg(ShapeRect bounds,ShapeColor fillColor)
{
NSLog(@"drawing a OblateSpheroid at (%d %d %d %d) in %@",bounds.x, bounds.y, bounds.width, bounds.height, colorName(fillColor));
}void drawShapes(Shape shapes[], int count)
{
int i;
for (i = 0; i < count; i++) {
switch (shapes[i].type) {
case kCircle:
drawCircle(shapes[i].bounds, shapes[i].fillColor);
break;
case kRectangle:
drawRectangle(shapes[i].bounds, shapes[i].fillColor);
break;
case kOblateSpheroid:
drawEgg(shapes[i].bounds, shapes[i].fillColor);
break;
}
}
}int main(int argc, const char * argv[])
{ @autoreleasepool {
Shape shapes[3];
ShapeRect rect0 = { 0, 0, 10, 30 };
shapes[0].type = kCircle;
shapes[0].fillColor = kRedColor;
shapes[0].bounds = rect0;
ShapeRect rect1 = { 30, 40, 50, 60 };
shapes[1].type = kRectangle;
shapes[1].fillColor = kGreenColor;
shapes[1].bounds = rect1;
ShapeRect rect2 = { 15, 18, 37, 29 };
shapes[2].type = kOblateSpheroid;
shapes[2].fillColor = kBlueColor;
shapes[2].bounds = rect2;
drawShapes(shapes, 3);
}
return 0;
}
kCircle,
kRectangle,
kOblateSpheroid
} ShapeType;typedef enum {
kRedColor,
kGreenColor,
kBlueColor
} ShapeColor;typedef struct {
int x, y, width, height;
}ShapeRect;typedef struct {
ShapeType type;
ShapeColor fillColor;
ShapeRect bounds;
}Shape;NSString *colorName(ShapeColor colorName)
{
switch(colorName) {
case kRedColor:
return (@"red");
break;
case kGreenColor:
return (@"green");
break;
case kBlueColor:
return (@"blue");
break;
}
return (@"no clue");
}void drawCircle(ShapeRect bounds,ShapeColor fillColor)
{
NSLog(@"drawing a circle at (%d %d %d %d) in %@",bounds.x, bounds.y, bounds.width, bounds.height, colorName(fillColor));
}void drawRectangle(ShapeRect bounds,ShapeColor fillColor)
{
NSLog(@"drawing a Rectangle at (%d %d %d %d) in %@",bounds.x, bounds.y, bounds.width, bounds.height, colorName(fillColor));
}void drawEgg(ShapeRect bounds,ShapeColor fillColor)
{
NSLog(@"drawing a OblateSpheroid at (%d %d %d %d) in %@",bounds.x, bounds.y, bounds.width, bounds.height, colorName(fillColor));
}void drawShapes(Shape shapes[], int count)
{
int i;
for (i = 0; i < count; i++) {
switch (shapes[i].type) {
case kCircle:
drawCircle(shapes[i].bounds, shapes[i].fillColor);
break;
case kRectangle:
drawRectangle(shapes[i].bounds, shapes[i].fillColor);
break;
case kOblateSpheroid:
drawEgg(shapes[i].bounds, shapes[i].fillColor);
break;
}
}
}int main(int argc, const char * argv[])
{ @autoreleasepool {
Shape shapes[3];
ShapeRect rect0 = { 0, 0, 10, 30 };
shapes[0].type = kCircle;
shapes[0].fillColor = kRedColor;
shapes[0].bounds = rect0;
ShapeRect rect1 = { 30, 40, 50, 60 };
shapes[1].type = kRectangle;
shapes[1].fillColor = kGreenColor;
shapes[1].bounds = rect1;
ShapeRect rect2 = { 15, 18, 37, 29 };
shapes[2].type = kOblateSpheroid;
shapes[2].fillColor = kBlueColor;
shapes[2].bounds = rect2;
drawShapes(shapes, 3);
}
return 0;
}
你这个是c++混编,编译选项要选object-c++,具体在哪改自己谷歌。