lsmmay322   3년 전

문자열을 체크하는 함수내에서

if (st.empty())
return (true);

이부분에서 st.empty()는 스택이 비어있으면 true라 만약 스택에 아무것도 없으면 true가 반환되야 하지 않나요?

if (st.empty())
return (true);

이거로 하면 

1 (( 할 때 true가 뜨고

return (st.empty()); 로 하면

1((하면 제대로 no가 뜹니다..

뭔 차이인가요

dotoleeoak   3년 전

`ft_check`에서 (26라인에서 `!st.empty()`인 경우) return 값을 제대로 정의하지 않았습니다.

그래서 컴파일러에 따라 다르지만 보통 경고가 나오고, 해당 경우에는 컴파일러가 true를 리턴하도록 한 것 같습니다.

아래와 같이 `ft_check` 마지막을 수정하면 제대로 동작합니다.

lsmmay322   3년 전

아아 그런 문제였군요 감사합니다 ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.