'dataIn이 nullptr이었습니다'라고 뜹니다.

조회수 575회
QUEUE* Node = createQueue();

int* dataIn;

int* dataOut;

void BreadthFirstprint(Tree* tree) {


    if (tree) {
        *dataIn = tree->data;
        enqueue(Node, &dataIn);
        BreadthFirstprint(tree->left);
        BreadthFirstprint(tree->right);
    }
    while (!emptyQueue(Node))
    {
        dequeue(Node, (void**)&dataOut);
        printf("[ %d ] ", *dataOut);
    }}

이 부분에서 오류가 납니다. tree->data 부분을 큐에 넣고 출력하고 싶은데 dataInnullptr이라고 하네요. 어떻게 해결할 수 있을까요?

1 답변

  • 두 번째줄의 int* dataIn; int* dataIn=new int; 로 수정해 보세요.

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 그럼 nullptr은 해결되는데 원하는 값이 아니라 그냥 이상한 상수로 나오네요ㅜㅜ 알 수 없는 사용자 2020.12.20 16:33
    • 원하는 값이라는 것이 정확히 무엇인지, 그리고 현재 하고자 하는 것이 무엇인지 main 함수를 포함한 전체 코드를 첨부하셔야 그에 맞추어 답변을 드릴 수가 있습니다. 알 수 없는 사용자 2020.12.20 19:49

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)