c++, 클래스안에서 입력파일을 열려고 하는대요~
글쓴이: feelsocrazy / 작성시간: 화, 2008/09/16 - 10:59오후
int main(int argc, char *argv[])
{
file f;
f.fileOpen(argv);
.............
}
class file{
ifstream in;
public:
void fileOpen(char *argv[]) {
in(argv[1], ios::in | ios :: binary);
예외처리
}
}
c++ 에서.....
main에서 argv[1]에 파일명을 입력받아서....
클래서 안에서 열려고 합니다.
ifstream in 을 클래스 private로 하고 싶어서요...
그런대 몇시간동안 해도 안되서 성질이 나서.....ㅠㅠ
c에서는 되었던거 같은대.....c++은 잘안대내요...아직 포인터 개념이 부족해서....ㅠㅠ
도와주세요~~~
어떻게 고쳐야지 클래스안에서 파일을 열수 있을까요??ㅜ
Forums:
인용:in(argv[1], ios::in |
이 부분에서 문제가 발생한거 같네요...
C++에서 멤버로 포함된 객체를 초기화 하려면, 초기화 리스트를 사용해야만 합니다.
위에서 처럼, 명시적으로 생성자를 호출하여 초기화 해줄 수 없습니다.
생성자는 언제나, 객체가 메모리에 할당될 때에만 호출된다는 것을 생각해 보시면
이해가 될 듯 싶습니다.
in.open(argv[1], ios::in | ios :: binary)로 코드를 바꿔보세요.
감사합니다~
이제는 대내요~ㅠㅠ
몇시간을 허비했는지....;;;ㅋ
C에서도 안됬을
C에서도 안됬을 겁니다-_-;
댓글 달기