写在一个main源文件里的时候代码是可以编译通过正常运行的,但将代码分割成一个个头文件后就有几处报错,说什么“不存在 到 的适当转换”
#include"headers.h"//里面是一些常用的头文件
#include"drawingTools.h"//里面是自己写的一些绘图函数
class bullet
{
public:
int x;
int y;
int oldx;
int oldy;
bool visible;//是否可见
bool bingo;//是否射中
clock_t startTime;
clock_t endTime;
double runTime;
//初始化子弹坐标
bullet(int i, int j)
{
startTime = clock();
this->x = i;
this->y = j - 2;
oldx = x;
oldy = y;
visible = true;
bingo = false;
}
void moveSingleBullet()
{
clock_t endTime = clock();
runTime = (double)(endTime - startTime) / CLOCKS_PER_SEC;
if (visible == true && runTime >= 0.1)
{
//擦掉原来的
setpos(oldx, oldy);
cout << " ";
//画上新的
setpos(x, y);
cout << "^";
oldx = x;
oldy = y;
y--;
if (y == 0 || bingo == true)
{
visible = false;
setpos(oldx, oldy);
cout << " ";
}
startTime = clock();
}
}
};
vectorbullets;//用于维护所有子弹的容器
void moveAllBullets()
{
//遍历所有子弹对象,每颗子弹都移动一次
for (vector::iterator it = bullets.begin(); it != bullets.end();)
{
if (it->visible == true)
{
it->moveSingleBullet();
it++;
}
else if (it->visible == false)
{
//erase完会返回指向下一个元素的迭代器
//这是一个大坑,所以采用特殊写法,只有在不erase时才it++,否则it不用++(详见CSDN)
it = bullets.erase(it);
}
}
}
你头文件包含了没,报错找不到变量啊