苹果X怎么苹果如何设置自动旋转转

VincentTung 的BLOG
用户名:VincentTung
文章数:140
访问量:55624
注册日期:
阅读量:5863
阅读量:12276
阅读量:410472
阅读量:1098620
51CTO推荐博文
&1.&d:\daily\cpp\friendly2\friendly2\complex.cpp(5):&error&C2143:&语法错误&:&缺少&;&(在&using&的前面)
原因是在&complex.h头文件中定义class&complex{}最后没有加上引号,&万恶的引号
在C++中定义class的时候一定要在最后面添加引号
#ifndef&_COMPLEX_H_&#define&_COMPLEX_H_&class&Complex{&private:&int&real_;&int&imag_;&public&:&Complex();&~Complex();&Complex(int&x&,&int&y);&Complex&&add(const&Complex&&c1);&void&display();&};&&添加引号&#endif//_COMPLEX_H_&
本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)VS2013编译不通过,error C2143: 语法错误 : 缺少“;”(在“&”的前面)_问答_ThinkSAAS
VS2013编译不通过,error C2143: 语法错误 : 缺少“;”(在“&”的前面)
VS2013编译不通过,error C2143: 语法错误 : 缺少“;”(在“&”的前面)
这是AStar.h头文件
#include&iostream&
#include&deque&//双端队列
#include&string&
#define STEP 10//单位长度
#define STEP_DIAGONAL 14//单位对角线长度
class Node{
//沿着生成的路径,从开始节点到指定区域的移动消耗(可以沿对角线走)
//估算从指定区域格子到目的地格子的移动消耗(只准横着走,竖着走)
static deque&Node& open,
Node(int x, int y);
void setX(int x);
void setY(int y);
void setG(int g);
void setH(Node &goal);
void setF();
void setFather(int x, int y);
void setFather(Node &father);
void setFather(Node *father);
int getX();
int getY();
int getG();
int getH();
int getF();
Node* getFather();
static void addBarrier(int x, int y);
static void addBarrier(Node barrier);
Node operator=(const Node&);
bool operator==(const Node&);
Node createSunNode(int direction, Node goal);
static void addToOpen(Node node);
static void addToOpenWithOpenNotHave(Node node);//已经确认不在open表中
static void addToClosed(Node node);
static bool isInOpen(Node node);
static bool isInClosed(Node node);
void printNode();
这是AStar.cpp文件:
#include&iostream&
#include&queue&
#include&string&
#include&cstdlib&
#include&cmath&
#include"AStar.h"
const int LEFT = 0;
const int LEFT_UP = 1;
const int UP = 2;
const int UP_RIGHT = 3;
const int RIGHT = 4;
const int RIGHT_DOWN = 5;
const int DOWN = 6;
const int LEFT_DOWN = 7;
Node::Node() :x(0), y(0), g(0), h(0), f(0)
Node::Node(int x, int y) : x(x), y(y), g(0), h(0), f(0)
void Node::setX(int x)
void Node::setY(int y)
void Node::setG(int g)
void Node::setH(Node &goal)
this-&h = abs(goal.x - this-&x) + abs(goal.y-this-&y);//横坐标差的绝对值+纵坐标差的绝对值
void Node::setF()
this-&f = this-&g + this-&h;
void Node::setFather(int x, int y)
this-&father-&x =
this-&father-&y =
void Node::setFather(Node &father)
this-&father-&x = father.x;
this-&father-&y = father.y;
this-&father-&g = father.g;
this-&father-&h = father.h;
this-&father-&f = father.f;
void Node::setFather(Node *father)
this-&father-&x = father-&x;
this-&father-&y = father-&y;
this-&father-&g = father-&g;
this-&father-&h = father-&h;
this-&father-&f = father-&f;
int Node::getX()
int Node::getY()
int Node::getG()
int Node::getH()
int Node::getF()
Node* Node::getFather()
void Node::addBarrier(int x, int y)
Node node(x,y);
closed.push_back(node);
void Node::addBarrier(Node barrier)
closed.push_back(barrier);
Node Node::operator=(const Node& nodeOrigin)
this-&x = nodeOrigin.x;
this-&y = nodeOrigin.y;
this-&g = nodeOrigin.g;
this-&h = nodeOrigin.h;
this-&f = nodeOrigin.f;
this-&setFather(nodeOrigin.father);
bool Node::operator==(const Node& node)
return this-&x==node.x&&this-&y==node.y;
Node Node::createSunNode(int direction, Node goal)
Node sun = *//C++在this对象指针前面加*表示对象。
//&!--设置sun的x, y, g, h, f start--&
switch (direction)
case LEFT:
sun.setX(sun.getX() - 1);
case LEFT_UP:
sun.setX(sun.getX() - 1);
sun.setY(sun.getY() - 1);
sun.setY(sun.getY() - 1);
sun.setG(sun.getG()+STEP);
case UP_RIGHT:
sun.setX(sun.getX() + 1);
sun.setY(sun.getY() - 1);
case RIGHT:
sun.setX(sun.getX() + 1);
case RIGHT_DOWN:
sun.setX(sun.getX() + 1);
sun.setY(sun.getY() + 1);
case DOWN:
sun.setY(sun.getY() + 1);
case LEFT_DOWN:
sun.setX(sun.getX() - 1);
sun.setY(sun.getY() + 1);
if (direction%2==0)
//上下左右直走,STEP
sun.setG(sun.getG()+STEP);
//对角线,STEP_DIAGONAL
sun.setG(sun.getG()+STEP_DIAGONAL);
sun.setH(goal);
sun.setF();
//&!--设置sun的x, y, g, h, f end--&
void Node::addToOpen(Node node)
if (isInClosed(node))
//检查是否在open
bool isInOpen =
deque&Node&:://iter是Node*类型
for (iter = open.begin(); iter != open.end();iter++)
if (*iter==node)
isInOpen =
if (isInOpen)
//是否G成本更低
if (node.getG()&(iter-&getG()))
//是,改变在open表中的这个node节点的父节点
iter-&setFather(node.getFather());
//重新根据F值排序
Node temp = *
open.erase(iter);
//iter不能再用了,因为删除操作使iter失效了
addToOpenWithOpenNotHave(temp);
//否,do nothing
addToOpenWithOpenNotHave(node);
//已经确认要添加的node不在open表中
void Node::addToOpenWithOpenNotHave(Node node)
//不在open表中,加入open(open表按F值从大到小排列)
if (open.size()&0)
for (int i = open.size() - 1; i &= 0; i--)
if (open[i].getF() &= node.getF())
//这里可能有问题
open.insert(open.begin() + i, node);
if (i == 0)
open.push_front(node);
open.push_back(node);
void Node::addToClosed(Node node)
closed.push_back(node);
bool Node::isInOpen(Node node)
bool isInOpen =
deque&Node&:://iter是Node*类型
for (iter = open.begin(); iter != open.end(); iter++)
if (*iter == node)
isInOpen =
return isInO
bool Node::isInClosed(Node node)
bool result =
for (int i = 0; i & closed.size(); i++)
if (closed[i] == node)
void Node::printNode()
cout &&"x ="&&this-&x&&endl
&&"y ="&&this-&y&&endl
&&"g ="&&this-&g&&endl
&&"h ="&&this-&h&&endl
&&"f ="&&this-&f&&
test.cpp文件:
#include"AStar.h"
#include&iostream&
int main()
Node original(1,2);
Node goal(5,2);
Node::addToClosed(goal);
Node::addToOpenWithOpenNotHave(original);
Node::addBarrier(3,1);
Node::addBarrier(3,2);
Node::addBarrier(3,3);
Node lastOne = Node::open.back();
if (lastOne==goal)
cout &&"success"&&
lastOne.printNode();
Node::closed.push_back(lastOne);
Node::open.pop_back();
//生成并添加子节点
for (int i = 0; i & 8;i++)
Node sun = lastOne.createSunNode(i, goal);
Node::addToOpen(sun);
其中在AStar.h头文件的static deque&Node& open,这一行,编译报错
你是不是没有#include &deque&
或者没有using std::
添加你想要问的问题
PHP开发框架
开发工具/编程工具
服务器环境2009年4月 总版技术专家分月排行榜第一
2009年11月 Linux/Unix社区大版内专家分月排行榜第一2009年6月 Linux/Unix社区大版内专家分月排行榜第一2009年4月 C/C++大版内专家分月排行榜第一2009年3月 C/C++大版内专家分月排行榜第一2009年3月 Linux/Unix社区大版内专家分月排行榜第一2009年2月 Linux/Unix社区大版内专家分月排行榜第一
2009年6月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。2016年5月 总版技术专家分月排行榜第二
2016年10月优秀大版主2016年8月论坛优秀大版主
2016年2月 C/C++大版内专家分月排行榜第三2016年1月 C/C++大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 苹果ipad旋转屏幕设置 的文章

 

随机推荐