如下代码:
int main(int argc, char *argv[])
{
ifstream infile;
if (!infile.open(argv[1])) //这里编译错误
cout<<"Can't open file"<<endl;
......
}
改成
int main(int argc, char *argv[])
{
ifstream infile;
infile.open(argv[1]);
if (!infile) //这里编译正确了
cout<<"Can't open file"<<endl;
......
}
用g++编译的,想不通错在哪?有知道原因的同学、老师能解释以下吗?
int main(int argc, char *argv[])
{
ifstream infile;
if (!infile.open(argv[1])) //这里编译错误
cout<<"Can't open file"<<endl;
......
}
改成
int main(int argc, char *argv[])
{
ifstream infile;
infile.open(argv[1]);
if (!infile) //这里编译正确了
cout<<"Can't open file"<<endl;
......
}
用g++编译的,想不通错在哪?有知道原因的同学、老师能解释以下吗?