2011-04-06 3 views
0

'if'조건을 사용하여 개체 위치가 비어 있는지 확인하려고합니다. 나는 이것을 위해 이중 포인터를 사용하고있다. 이 루프에서이중 포인터의 빈 공간 (NULL)을 확인하는 방법

void show_room :: buy_car(int clmn, int row) 
{ 
    int row = row; 
    int clmn = clmn; 
    string car_door_col; 
    string temp1; 
    float temp2; 
    int temp3; 
    int n=0, i; 
    this->HBM = new show_room*[3]; 

    for(int i=0; i<3; i++) 
    {    
     this->HBM[i] = new show_room[4]; 
    } 

    for(int j=0; j<row; j++) 
    { 
     if(this->HBM[clmn][row] == NULL) 
     { 
     } 
    } 
} 

: 아래의 코드를 참조하십시오

for(int j=0; j<row; j++) 
{ 
    if(this->HBM[clmn][row] == NULL) 
    { 

    } 
} 

을 내가 [clmn] [행] 여부에 개체가 있는지 확인하기 위해 노력하고, 나는에 대해 NULL을 사용하고 있습니다 이것은 잘못된 것입니다. 이것을 어떻게 구현해야합니까? 이 점에 대해 도와주세요.

+0

show_room이란 무엇입니까? 수업? – walkingTarget

+3

왜 이런 식으로하는지 : int row = row; int clmn = clmn; ' – meagar

+0

예 show_room은 클래스입니다. – Rafay

답변

1

이미 0으로 HBM의 요소를 초기화 한 가정, 당신은 그들이 가리키는 객체를 삭제 한 후 0으로 재설정을 기억하고, 당신은 간단하게 수행 할 수 있습니다

if(this->HBM[clmn][row]) { 
    // ... 
} 
+0

이 상황을 고려해보십시오 ... HBM [0] [2]에 HBM [0] [1]이 비어 있습니다. 이제 HBM [0] [1]이 비 었는지 확인하기 위해 뭔가를 구현하려고합니다. 도와주세요. – Rafay

+0

@ Spoilt 그러면 문제가 정확히 무엇입니까? 'HBM '을 반복하고 각 요소를'if'로 테스트 해보십시오. 그것은 요소가 비어 있는지 여부를 알려줍니다. – meagar

+0

그래서 수표는 어디 있습니까? 당신이 작성한 Wat는 NULL 조건을 검사 할 것인가 아닌가 ?? 미안하지만 바보 같지만 여전히 도와주세요 .. – Rafay

0

문제는 new show_room[4]은 show_rooms에 4 개의 포인터를 작성하지 않고 연속으로 4 개의 show_rooms를 작성합니다.

+0

예 thats true .... 그 것이 었습니다. – Rafay

+0

아직 내 문제가 해결되지 않았습니다. :( – Rafay

0

작성한 방법대로 2 차원 배열 show_room[3][4] (동적 저장소 포함)을 구성하는 것입니다. new을 호출하면 모든 객체가 생성되므로 "누락 값"또는 "빈 공간"이 없음을 의미합니다.

당신이 HBM[i][j]을 말할

정확하게 두 가지 중 하나가 발생할 수 있습니다 :

  • 어느 i < 3j < 4, 당신은 유효한 show_room 객체에 대한 참조를 얻거나
  • 당신은 정의되지 않은 동작이 발생할.

다른 일은 발생할 수 없습니다.