我目前工作的一个卡牌游戏的数组,我有一些初始化代码的麻烦:初始化对象
// in my class...
Card cards[20];
// in method...
for(int i = 0; i <= 20;i++)
cards++ = new Card(i, /*i as char +*/ "_Card.bmp");
麻烦的是,我的编译器告诉我,cards++
不是L -值。我已经阅读了整个指针数组等价事物,并且我认为我理解了它,但是,唉,我无法让它工作。我的理解是,由于cards
降级为指针,并且new
运算符为我提供了一个指向我的新卡实例位置的指针,那么应该编译上面的代码。对?
我试过使用下标以及但不是cards+i
,cards++
和cards[i]
只是说3种方式相同的东西吗?我认为每一个都是l值,并被视为指针。
卡+我退卡+我;卡片++将卡片递增一个;卡片[i]返回卡片中第i个元素的引用。他们都是不同的。 – 2011-09-26 16:44:04