불완전한 유형 구조체에 대한 C 역 참조 포인터

사이버 101

tree.h 헤더에서 전역 변수를 숨기기 위해 "struct privates"를 선언했습니다. (관련 스 니펫)

 struct privates;
  /*
   * a tree
     */

    typedef struct tree_node
    {
        struct tree *left; 
        struct tree *right; 
        struct tree_node *left; 
        struct tree_node *right; 
        float * info;  
        float distance_to_neighbor;
    } tree_node;


  typedef struct tree
  {
   /*in order to  keep track of the kd-tree root*/
   tree_node * _root; 
   /*pointer to internal variables struct*/
   struct privates* _privates;  

  } tree;

struct privates* init_heap_tree();

etc....

구현 파일 kdtree.c에서 "struct privates"를 정의했습니다. (관련 스 니펫)

tree* my_tree=NULL; 

typedef struct  privates
{

/*variables*/
int current_number_of_tree_nodes; 
/*previous tree rebuild's node count*/ 
int previous_tree_size;
} privates; 


privates* init_heap_tree()
  {
      return (privates*) calloc(1, sizeof (privates));
  }


tree* tree_get_tree()
{
    my_tree = get_pre_allocated_tree();
    return my_tree;  
}

etc...

이제 메모리 관리 코드에서 init_heap ()의 관련 스 니펫을 참조하십시오.

구조체 멤버 "tree_space-> _ privates-> current_number_of_tree_nodes = 0;"에 대한 초기화 값을 설정하려고합니다.

void
init_heap (int max_dimensions)
{
    tree_space = (tree *) calloc (tree_HEAP_SIZE, sizeof (tree));
    tree_space = get_pre_allocated_tree();
    tree_space->_privates = init_heap_tree();
    //THIS  IS WERE COMPILE  TIME ERROR OCCURS
    tree_space->_privates->current_number_of_tree_nodes = 0; 
    tree_space->_privates->previous_tree_size =0;  
    //allocate memory based on tree_HEAP_SIZE
    tree_space = (tree_node*) calloc (tree_HEAP_SIZE, sizeof (tree_node));
    tree_set_k_dimensions (max_dimensions);

etc...

}

"오류 : 불완전한 유형"struct privates "에 대한 포인터 역 참조

정보를 숨기는 다른 디자인 패턴을 원하지 않습니다. 구조체 멤버 액세스로이 오류를 어떻게 해결할 수 있습니까?

정말 감사합니다.

dbush

kdtree.c의 함수 만의 멤버에 액세스 할 수 private있으므로 여기에서 초기화해야합니다.

privates* init_heap_tree()
{
    privates *rval = calloc(1, sizeof (privates));
    rval->current_number_of_tree_nodes = 0;
    rval->previous_tree_size = 0; 
    return rval;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

불완전한 유형 C에 대한 역 참조 포인터

분류에서Dev

오류 : 불완전한 유형에 대한 포인터 역 참조-C 언어

분류에서Dev

C의 불완전한 유형 큐에 대한 역 참조 포인터

분류에서Dev

불완전한 유형에 대한 역 참조 포인터

분류에서Dev

불완전한 유형에 대한 역 참조 포인터

분류에서Dev

헤더의 typedef 구조체 및 불완전한 유형에 대한 역 참조 포인터

분류에서Dev

qsort ()의 비교 함수에서 구조체의 값 사용-C99-불완전한 유형에 대한 포인터 역 참조

분류에서Dev

C : 불완전한 유형의 단일 연결 목록에 대한 역 참조 포인터

분류에서Dev

C 오류 : 불완전한 유형 연결 목록에 대한 포인터 역 참조

분류에서Dev

구조 및 포인터 오류 : 불완전한 유형에 대한 포인터 역 참조

분류에서Dev

구조체를 사용하여 불완전한 형식에 대한 포인터 역 참조

분류에서Dev

구조체 변수에 대한 포인터 역 참조

분류에서Dev

char 포인터 C ++에 대한 포인터 역 참조

분류에서Dev

가능한 경우 형식에 대한 C ++ 포인터 역 참조

분류에서Dev

const 데이터 형식에 대한 포인터 역 참조

분류에서Dev

MxArray에 대한 포인터 역 참조

분류에서Dev

C에서 0에 대한 포인터 역 참조

분류에서Dev

포인터 역 참조에 대한 C ++ 기술 질문

분류에서Dev

C-배열 유형에 구조체 배열에 대한 불완전한 요소 유형이 있습니다.

분류에서Dev

C ++ 템플릿 및 불완전한 유형에 대한 포인터

분류에서Dev

C의 구조체 유형에 대한 포인터 캐스팅 이해

분류에서Dev

C ++ 구조체 포인터 역 참조

분류에서Dev

c 구조체에 대한 자유 임시 포인터

분류에서Dev

C ++ / CLI의 기본 유형에 대한 void * 역 참조

분류에서Dev

C 구조체, 구조체에 대한 공용체 포인터

분류에서Dev

char 포인터 참조에 대한 typecast 구조체 포인터

분류에서Dev

오류 : 불완전한 유형에 대한 포인터 연기

분류에서Dev

float C 배열에 대한 공용체 유형 (구조체도 포함)의 포인터

분류에서Dev

구조 | struct / union에 대한 불완전한 유형 오류

Related 관련 기사

  1. 1

    불완전한 유형 C에 대한 역 참조 포인터

  2. 2

    오류 : 불완전한 유형에 대한 포인터 역 참조-C 언어

  3. 3

    C의 불완전한 유형 큐에 대한 역 참조 포인터

  4. 4

    불완전한 유형에 대한 역 참조 포인터

  5. 5

    불완전한 유형에 대한 역 참조 포인터

  6. 6

    헤더의 typedef 구조체 및 불완전한 유형에 대한 역 참조 포인터

  7. 7

    qsort ()의 비교 함수에서 구조체의 값 사용-C99-불완전한 유형에 대한 포인터 역 참조

  8. 8

    C : 불완전한 유형의 단일 연결 목록에 대한 역 참조 포인터

  9. 9

    C 오류 : 불완전한 유형 연결 목록에 대한 포인터 역 참조

  10. 10

    구조 및 포인터 오류 : 불완전한 유형에 대한 포인터 역 참조

  11. 11

    구조체를 사용하여 불완전한 형식에 대한 포인터 역 참조

  12. 12

    구조체 변수에 대한 포인터 역 참조

  13. 13

    char 포인터 C ++에 대한 포인터 역 참조

  14. 14

    가능한 경우 형식에 대한 C ++ 포인터 역 참조

  15. 15

    const 데이터 형식에 대한 포인터 역 참조

  16. 16

    MxArray에 대한 포인터 역 참조

  17. 17

    C에서 0에 대한 포인터 역 참조

  18. 18

    포인터 역 참조에 대한 C ++ 기술 질문

  19. 19

    C-배열 유형에 구조체 배열에 대한 불완전한 요소 유형이 있습니다.

  20. 20

    C ++ 템플릿 및 불완전한 유형에 대한 포인터

  21. 21

    C의 구조체 유형에 대한 포인터 캐스팅 이해

  22. 22

    C ++ 구조체 포인터 역 참조

  23. 23

    c 구조체에 대한 자유 임시 포인터

  24. 24

    C ++ / CLI의 기본 유형에 대한 void * 역 참조

  25. 25

    C 구조체, 구조체에 대한 공용체 포인터

  26. 26

    char 포인터 참조에 대한 typecast 구조체 포인터

  27. 27

    오류 : 불완전한 유형에 대한 포인터 연기

  28. 28

    float C 배열에 대한 공용체 유형 (구조체도 포함)의 포인터

  29. 29

    구조 | struct / union에 대한 불완전한 유형 오류

뜨겁다태그

보관