문제
// stream from file.
ifstream file;
int main (int argc, char * argv[]) {
// get argument passed from command line
// This is file name
if (argc != 2 ) {
cout << "use: ./executable <filename>";
}else {
//cout << "You are using filename: " << argv[1];
// start the file stream
file (argv[1]);
}
이유가 있습니까? file(argv[1])
오류가 발생합니까? IFStream을 글로벌 변수로 가질 수 있습니까?
해결책
당신은 전화하려고합니다 ifstream
'에스 ()
사용해야 할 때 연산자 (존재하지 않음) file.open(argv[1])
.
그 외에도 전 세계를 갖는 것에 대해 불법적 인 것은 없습니다. ifstream
.
다른 팁
IFStream을 글로벌 변수로 가질 수 있습니다 (좋은 스타일이 다른 질문인지 여부).
문제는 생성자를 사용하려고하는 것 같습니다. file(argv[1])
이 시점에서 글로벌 변수는 이미 기본 생성자를 사용하여 구성되며 대신 사용해야합니다. open
방법.
file.open( argv[1] );
제휴하지 않습니다 StackOverflow