PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/04/11 18:58:47
Name 희주
Subject MFC에서 콤보박스와 배열초기화시 인덱스관련 질문입니다.
제가 하고싶은것은 콤보박스로부터 입력을 받은 값을 다른클래스의 변수로 입력을 받습니다.

그 받는값은 배열의 인덱스로 쓰일 건데요. 여기서 자꾸 에러가 나네요. 배열선언시 인덱스가 0이면 안되는것은 알겠는데 해결방법을 모르겠어요.

그리고 콤보박스 쓰는 부분도 인터넷에서 찾아서 따라한거라서 확실한지도 잘모르겠어요.



제코드와 궁금한 부분을 아래 올리겠습니다.
1. 콤보박스 코드 : 여기서 포인터 사용부분이 제대로 된건지요? 메인클래스는 MIP_HJView 입니다.
#include "MainFrm.h"
#include "MIP_HJView.h"
void CMaskCombo::OnSelchangeComboMask()
{
    CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
    CMIP_HJView *pView = (CMIP_HJView *)pFrame->GetActiveView();
    // TODO: Add your control notification handler code here

    int nIndex;
    nIndex = m_MaskCombo.GetCurSel();

    m_MaskCombo.GetLBText(nIndex, selectCombo);
    SetDlgItemText(IDC_COMBO_MASK, selectCombo);

    if(selectCombo == "3*3"){
        pView->maskIndex = 9;
        UpdateData(FALSE);
        pView->Invalidate();
    }
    else if(selectCombo == "5*5"){
        pView->maskIndex = 25;
        UpdateData(FALSE);
        pView->Invalidate();
    }
    else if(selectCombo == "7*7"){
        pView->maskIndex = 49;
        UpdateData(FALSE);
        pView->Invalidate();
    }
}

여기서 변수를 받아서 MIP_HJView 클래스에 전역변수 maskIndex 로 들어갑니다.
maskIndex는 일단 생성자에서 1로초기화했습니다.(이건별로 안중요한것 같네요. 하나 안하나 에러는 똑같이 나왔으니까요.)

2. 두번째 이제 maskIndex를 쓰는 함수인데요 여기서 배열을 선언하려고하는데
#include "MaskCombo.h"
void CMIP_HJView::OnBlurring()
{
    CMaskCombo dlg;
    dlg.DoModal();
  
    //여기부터는 배열을 선언하는 부분입니다.
        double mask[maskIndex];
        unsigned char origImg[maskIndex][3];
        그냥 밖에다가 이렇게 선언하면 아예 안되더라고요. 배열에서 불명확한 변수로 선언하면
        안되는거 같아서 아래와 같이 했습니다.      

    if(maskIndex==9){
        double mask[9];
        unsigned char origImg[9][3];
    }
    else if(maskIndex==25){
        double mask[25];
        unsigned char origImg[25][3];
    }
    else if(maskIndex==49){
        double mask[49];
        unsigned char origImg[49][3];
    }
  
    for(i=0; i<maskIndex; i++){              //origImg배열 초기화
        for(j=0; j<3; j++)
        origImg[i][j]=0;       /////////////여기서부터 에러가 와장창 뜹니다. 이유는 배열선언인것 같습니다. 해결방법좀 부탁드려요.
    }
.............................생략
    }

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
꿀호떡a
10/04/11 19:04
수정 아이콘
mask와 origImg는 그 선언된 scope
요기
안에서만 정의되어 있기 때문입니다. if를 빠져나오는 순간 안에서 정의된 배열은 싸그리 사라지는거죠.
저렇게 경우에 따라 배열을 다르게 할당하시려면 아마도 메모리를 동적으로 할당하셔야 할겁니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
78977 소니 mp3 질문드릴게요. [4] 현상2197 10/04/11 2197
78976 포맷했는데 인터넷 연결이 안되네요 도와주세요 ㅠ [3] 바닥인생2155 10/04/11 2155
78975 톰과 제리 음악 제목을 찾습니다. [2] 오돌이2071 10/04/11 2071
78974 '웨스턴샷건'의 박민서 작가님의 다른 작품에 대해서 질문입니다. [5] BoSs_YiRuMa2781 10/04/11 2781
78973 캔 음료수 좀 비위생적이지 않나요? [26] 가아든2897 10/04/11 2897
78972 아주 간단한 c언어 질문 드리겠습니다!! [4] Mraz1876 10/04/11 1876
78971 음료수 캔 어떻게 따시나요? [23] ISUN2381 10/04/11 2381
78970 일요일 프로야구 경기 질문 입니다 [5] jdfd2142 10/04/11 2142
78968 미국여행 호텔, 항공편 예약 사이트 추천 부탁드립니다. [3] Surrender2202 10/04/11 2202
78967 MFC에서 콤보박스와 배열초기화시 인덱스관련 질문입니다. [2] 희주2917 10/04/11 2917
78966 마본좌 플라잉 디파일러 영상 [2] V.serum3190 10/04/11 3190
78965 바보리버 해결법 [4] MoreThanAir3364 10/04/11 3364
78964 레포트 사이트에 관해서 질문드립니다! [3] Dr.No2606 10/04/11 2606
78961 포맷후 D:가 C:가 됐습니다 [3] 포트거스 D 에2249 10/04/11 2249
78960 스타크래프트1 리플레이 볼 때 질문입니다. [4] 어머나...2203 10/04/11 2203
78959 주민등록증 사진에는 어떤 의상이 좋을까요? [6] 화이트데이3102 10/04/11 3102
78958 미분관련 질문입니다. [7] Marionette1973 10/04/11 1973
78957 간단한 회로해석 입니다. 도와주세요 [6] 다음6752 10/04/11 6752
78956 몇 시간을 굶으면 가장 많이 먹을 수 있을까요? [14] Christian The Poet4344 10/04/11 4344
78955 모니터 자국 없애는 방법 여쭤봅니다. [1] 현상2480 10/04/11 2480
78954 쇼핑몰에서 목 늘어나지 않는 옷 고르는 방법 아시나요? [5] sekhmet2601 10/04/11 2601
78953 영맹입니다 도와주세요!!(영어듣기,..3분만투자해주세요!) [2] 임자있슈2106 10/04/11 2106
78952 미드 NCIS에서 깁스 부인 순서좀.. [4] 반니스텔루이5580 10/04/11 5580
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로