用了bool为什么运行不了 把bool true false 分别改为int 1 0就可以,int改成了char也不行

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:24:29
#include<iostream>
using namespace std;
bool map[1000000][1000000];
bool isitin(int x,int y)
{
return false;
}
int main()
{
int n,m,B,x,y,a,b,i,j;
while(cin>>n>>m,n||m)
{
cin>>B;
memset(map,true,sizeof(map));
while(B--)
{
cin>>x>>y>>a>>b;

for(i=x;i<x+a;i++)
for(j=y;j<y+b;j++)
{
map[i][j]=false;
}
}
for(i=0;i<=n;i++)
for(j=0;j<=m;j++)
{
cout<<map[i][j]?1:0<<' ';
}
}
getchar();
return 0;
}

我编译的只有一个错误
就是数组太大.....
bool map[10000][10000];
去掉两个0 编译通过

旧的C++实现里并没有bool类型,bool的true和false是通过宏定义为int的1和0实现的,一般只有比较古老的编译器才不支持bool类型。