블로그 이미지
언제나 늘 푸른 소나무처럼. 자신의 의지로 오롯이 서기
예섬수진

공지사항

최근에 받은 트랙백

글 보관함

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

C++]pure virtual function 컴파일 에러

2011.04.28 00:09 | Posted by 예섬수진

Webkit gtk 소스 빌드 시, 아래와 같이 pure virtual function 관련 컴파일 에러를 발견하였다. 
 ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:3496: error: cannot allocate an object of abstract type ‘WebKit::ChromeClient’
 ../../Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:37: note:   because the following virtual functions are pure within ‘WebKit::ChromeClient’:
../../Source/WebCore/page/ChromeClient.h:229: note: virtual void WebCore::ChromeClient::enumerateChosenDirectory(const WTF::String&, WebCore::FileChooser*) 

확인 결과, pure virtual function을 가진 클래스는 객체를 생성할 수 없기 때문에 발생한 문제 였다. 

pure virtual function을 가진 클래스를 상속받을 경우, 모든 pure virtual function을 재정의하여야 한다. 그렇지 않으면 파생된 클래스 역시 pure virtual function을 가지므로, 객체를 생성할 수 없다. 

책에서만 보던 내용을 Webkit 빌드를 통해 알 수 있었다. 


 
이전 1 2 다음

티스토리 툴바