防止C语言动态数组越界char* buf new char[200]char* cp buf...if(cpbuf[200]) return true//编
防止C语言动态数组越界
char* buf = new char[200];
char* cp = buf;
...
if(cp==buf[200]) return true;
//编译错误error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
囧,求解 C++
[解决办法]
if (cp == buf[199])
//数组下标是从0开始的!
[解决办法]
cp的类型是char*
buf[200]的类型是char
怎么比较?
[解决办法]
错了 你是要比较地址么?
if (cp == &buf[199])
[解决办法]
如果你的cp是像 for循环那样,每次+1的,可以这么判断
if (cp != buf + 200) // 没越界
