您的位置:首页 > 其它

修改指针指向的QVector内部成员的值

2017-11-29 13:50 218 查看
 //在头文件声明

QVector<int>* _InitSnakeCor; 

//构造函数内_InitSnakeCor初始化

QtGreedySnake::QtGreedySnake(QWidget *parent)

 : QMainWindow(parent)

{

 this->setWindowTitle(tr("贪吃蛇"));//设置窗口名称

 this->setGeometry(600, 200, 700, 600);

 //初始化贪吃蛇蛇头坐标容器,用容器_InitSnakeCor的第一个值表示x坐标,第二个值表示y坐标

 _InitSnakeCor = new QVector<int>;

 int initSnakeX = 15;

 int initSnakeY = 10;

 _InitSnakeCor->push_back(initSnakeX);

 _InitSnakeCor->push_back(initSnakeY);

}

//成员函数内修改_InitSnakeCor指针容器特定位置的元素的值

void QtGreedySnake::snakeMove()

{
 switch (_Direct)

 {

 case UP: (*_InitSnakeCor)[1] += 20 ;//这样的写法是正确的

 case DOWN: (*_InitSnakeCor)[1] -= 20;

 case RIGHT: _InitSnakeCor->at(0) += 20;//这样是错误的,无法被赋值的左值

 case LEFT: _InitSnakeCor->at(0) -= 20;//
 default:

  break;

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: