문제

// 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] );
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top