반응형
visual studio 2008
MFC
SDI 로 생성하여, CSplitterWnd 를 사용하여 분할할 예정이였으나 코드 몇자 쓰지도 않았는데 오류발생
더보기
error C2143: 구문 오류 : ';'이(가) '*' 앞에 없습니다.
error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.
error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.
warning C4183: 'GetDocument': 반환 형식이 없습니다. 'int'를 반환하는 멤버 함수로 간주됩니다.
Test 라는 이름의 프로젝트 생성 후, 작성한 코드는 아래와 같다.
창분할을 위해 프로젝트 생성 당시에, 창분할을 체크했던 터라
추가없이 기존에 생성되어 있던 OnCreateClient()에 코드 작성
창분할 체크를 안했다면 속성에서 추가할것. 임의로 작성x
// MainFrm.cpp
//
#include "stdafx.h"
#include "Test.h"
#include "MainFrm.h"
#include "TestView.h"
//
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
//return m_wndSplitter.Create(this,
// 2, 2, // TODO: 행 및 열의 개수를 조정합니다.
// CSize(10, 10), // TODO: 최소 창 크기를 조정합니다.
// pContext);
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
TRACE0("Fail to create splitter.\n");
return FALSE;
}
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTestView), CSize(300, 300), pContext);
m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CTestView), CSize(300, 300), pContext);
return TRUE;
}
해결방안
include 할때, ~Doc.h를 ~View.h 보다 먼저 작성할것
.
#include "TestDoc.h"
#include "TestView.h"
.
// MainFrm.cpp
//
#include "stdafx.h"
#include "Test.h"
#include "MainFrm.h"
#include "TestDoc.h"
#include "TestView.h"
//
728x90
반응형
'개발아닌개발 > C,C++' 카테고리의 다른 글
[MFC] SDI 메뉴 모음(m_wndMenuBar) 없애기 (0) | 2022.04.29 |
---|---|
[MFC/C,C++] 가변 인자를 이용하여 WORD 배열 Define 선언하기 (0) | 2022.04.19 |
[오류] visual studio 2008 x64 빌드가 생략되었습니다. (0) | 2022.03.30 |
[오류] msvcrtd.lib(msvcr90d.dll)에 이미 정의되어 있습니다. (0) | 2022.02.28 |
[MFC] 내 프로젝트에 외부 라이브러리(zlib 1.2.11) 적용 방법 - windows (0) | 2022.02.25 |
댓글