请问下面这段代码有什么错误呢,能编译会每次运行都会出错!
#include <cstdlib>
#include <iostream>
using namespace std;
istream *input;
int main(int argc, char *argv[])
{ while(*input)
{ char ch;
input->get(ch);
cout<<ch<<'\n';
}
if(input!=&cin)delete input;
system("PAUSE");
return EXIT_SUCCESS;
}
好像是 while(*input)有问题,换在while(input)就不会出错,但也不会执行while循环了·!
[解决办法]
input没有初始化,你调用input->get方法就会出错
[解决办法]
你不初始化,input这个指针指向哪?而且不初始化,没有给input分配空间,delete input也会出错
[解决办法]
粗心啊,没有初始化,怎么执行,怎么解引用。
[解决办法]
#include <cstdlib >#include <iostream >using namespace std;istream *input;int main(int argc, char *argv[]){ input = &cin; //初始化while(*input) { char ch; input- >get(ch); cout < <ch < < '\n '; } if(input!=&cin)delete input; system("PAUSE"); return EXIT_SUCCESS;}