자료형이 char*형인 스택 구현 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* 형으로 했을 때는 그 값을 건드렸을 때 어떻게 변경할 수 있는지 궁금합니다. 6년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
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];
즉, 레퍼런스로 이용할 시에는 직접 pop함수 안에서 건드려서 바뀌는데 char* 형으로 했을 때는 그 값을 건드렸을 때 어떻게 변경할 수 있는지 궁금합니다.
6년 전