class AFX_EXT_CLASS CEthernet
{
public:
virtual BOOL Open() = 0;
};
class AFX_EXT_CLASS CTcpServer : public CEthernet
{
public:
BOOL Open();
};
class AFX_EXT_CLASS CTcpClient : public CEthernet
{
public:
BOOL Open();
};
CTcpServer와 CTcpClient의 구현은 cpp파일내에 구현하였고 위에 것들은 모두 헤더파일에 선언만 한 상태입니다
CEthernet에서 BOOL Open();으로 선언하면 되는데 가상함수로 만들기위해(구현을 안할거라 순수가상함수로 virtual BOOL Open() = 0; 선언) virtual만 붙으면
lnk1120 : 3개의 확인할 수 없는 외부 참조입니다
lnk2001 1개
lnk2019 3개의 에러가 뜹니다
AFX_EXT_CLASS를 제거하면 동작은 합니다만 동적 라이브러리를 만들기 위해서 저 매크로는 반드시 필요하지 않나요?(라이브러리에 클래스 넣기 위함)
AFX_EXT_CLASS와 virtual 둘 모두 사용시 구성형식에서 응용프로그램/동적라이브러리 둘다 안됩니다
무엇이 문제일까요?
너 임마 정의부에도 virtual 붙여야돼.. - dc App
override 키워드도 잊지말라구
서버 클라의 open에도 virtual붙여야된다고? 안돼 ㅠㅠㅠㅠ
override 키워드가뭐야?
재정의 한다는 뜻
overide; 함수뒤에 붙여도안됨 야호 씨발
찾아보니까 다 virtual붙여서 나도 다시붙여봤으나안뎌ㅓ