Microsoft/Visual Studio2011. 10. 22. 19:38
예전에 ctrl-w를 눌러서 반응이 없어서 사용을 포기했었는데 2010에서는 다시 추가되었다는 이야기도 들리고 흐음..
아무튼 클래스 위저드가 사라진 2008 버전에서는 class wizard가 아닌 class property로 존재한다.

단, dialog가 아닌 class 이므로
좌측의 class view에서 해당 class를 눌러 property에서 추가해야 한다.

아래는 별다른 설정을 하지 않은 기본화면 구성이다.
좌측에 각종 탐색 탭들과 우측에 속성이 존재한다.


클래스 위저드를 대체할 방법은 아래 내용을 참고!

Step 1. 좌측의 네비게이션 바에서 "클래스 뷰"를 선택 Dialog based Project에서는
          C..Dlg 클래스를 선택한다.


Step 2. 오른쪽 하단의 속성 혹은 "Alt-Enter"를 눌러준다.

           메뉴에서는 "보기 - 다른 창 - 속성 창" 을 눌러줘도 된다.


Step 3. "재정의"를 눌러주고


          원하는 함수를 누르면 <추가> 라는 것이 뜨며 자동으로 함수가 등록되게 된다.



만약에 다이얼로그 창을 클릭한다면 아래와 같이 3개의 아이콘 밖에 존재하지 않으며


반드시 "클래스 뷰"에서 눌러주어야 아래와 같이 "재정의" / "Overrides" 라는 이름으로 뜨게 된다.



[링크 : http://seolis.tistory.com/entry/visual-2008에서-ClassWiard-따라하기]

[링크 : http://lafirr.tistory.com/59]


+

2017.02.19

[링크 : http://jgh0721.tistory.com/entry/Visual-Studio-2010-Beta-2-클래스-위저드의-귀환]

[링크 : http://ghebook.blogspot.com/2010/05/vs2008-class-wizard.html]

Posted by 구차니
Microsoft/Visual Studio2011. 5. 14. 19:52
openGL 에서 예제를 돌리다가 이상한 에러가 나길래 검색+추적을 해보니...

windows.h 에서 windef.h 를 불러들이는데
#undef far
#undef near
#undef pascal

#define far
#define near
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif
 
아무런 내용없이 far와 near가 선언이 되어 있다.
그런 이유로 변수명이나 함수명등의 용도로 far와 near를 사용할 수 없다.

아래와 같이 변수를 선언하면
 double near, far; 
near와 far는 매크로 프로세서에 의해서
 double ;
로 해석이 되므로 아래와 같은 희한한 에러가 발생한다.

c:\opengl\opengl.cpp(63) : warning C4091: '' : 변수를 선언하지 않으면 'double' 왼쪽은 무시됩니다.
c:\opengl\opengl.cpp(63) : error C2143: 구문 오류 : ';'이(가) ',' 앞에 없습니다.
c:\opengl\opengl.cpp(63) : error C2143: 구문 오류 : ';'이(가) ',' 앞에 없습니다.
 

원래 소스는 아래와 같은데
void frustum_depthoffield(GLdouble left, GLdouble right,
                        GLdouble bottom, GLdouble top,
                        GLdouble near, GLdouble far,
                        GLdouble xoff, GLdouble yoff,
                        GLdouble focus)
{
glFrustum( left-xoff*near/ focus,
right-xoff*near/focus,
top-yoff*near/focus,
bottom-yoff*near/focus,
near,far);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glTranslatef(-xoff, -yoff, 0.0);
} 

위와 같은 이유로 황당하게 '/' 오류가 난다 -_-
c:\opengl\opengl.cpp(63) : error C2059: 구문 오류 : '/' 

Posted by 구차니