살아가는 이야기

C++ Error: `std::ios_base::ios_base(const std::ios_base&)' is private 본문

컴퓨터, 풀어그림

C++ Error: `std::ios_base::ios_base(const std::ios_base&)' is private

우균 2010. 7. 29. 17:05

C++ 컴파일러 오류 중에서 위 제목과 같은 오류가 발생하는 경우가 있다. 이것은 스트림 생성 오류다. 입출력 스트림 객체는 복사하면 곤란한 상황이 발생한다. 따라서 스트림 객체를 넘겨줄 때는 항상 참조(reference, &)로 넘겨주어야 한다. 그런데 스트림 객체를 그냥 복사하라고 한다면(예컨대 참조형이 아닌 인수로 넘기거나 변수에 대입 연산을 하는 경우를 들 수 있음), 위와 같은 오류가 발생한다. 이런 오류가 발생했다면 스트림을 복사하지 않았는지 잘 살펴보자.

Comments