자료형이 char*형인 스택 구현

  • qudgh1017
    qudgh1017

    Stack의 pop을 클래스 템플릿을 이용하여 구현한 것인데
    (다른 부분을 생략하고 모르는 부분만 참조하였습니다.)

    template
    bool Stack::Pop(T& data) {
    if (last > 0) {
    data = stack[--last];
    return true;
    }
    else
    return false;
    }

    data를 레퍼런스해서 main에서 출력시 stack pop순서에 맞게 출력이 되는데

    for (i = 0; i < sStack.Size(); i++) {
    if (sStack.Pop(Data))
    cout << Data << " ";
    else
    break;
    }

    아래와 같이 char*형으로 할때는 어떤식으로 해야 pop구현이 가능한지 알려주시면 감사하겠습니다.
    bool Pop(char* data) {
    cout << "클래스 특수화 POP" << endl;
    if (last > 0) {
    data = stack[--last];

    return true;
        }
        else
            return false;
    }

    즉, 레퍼런스로 이용할 시에는 직접 pop함수 안에서 건드려서 바뀌는데 char* 형으로 했을 때는 그 값을 건드렸을 때 어떻게 변경할 수 있는지 궁금합니다.


    5년 전
0개의 댓글이 있습니다.
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.