-1
enter link description here 푸시와 팝을 함께 사용하면 출력 제한 초과 오류가 발생합니다.이 코드를 확인하십시오. 클래스 스택을 만들었고 함수 내에서 스택에 대한 포인터를 만들었습니다.출력 한도가 C++ 클래스를 초과했습니다
enter link description here 푸시와 팝을 함께 사용하면 출력 제한 초과 오류가 발생합니다.이 코드를 확인하십시오. 클래스 스택을 만들었고 함수 내에서 스택에 대한 포인터를 만들었습니다.출력 한도가 C++ 클래스를 초과했습니다
코드에서 아래 줄에 포인터를 초기화하지 않았습니다.
void Stack::down()
{
Stack *s1;
//.....
}
이 명령문 실행의 동작은 정의되지 않습니다.
Windows에서이 명령문 실행은 런타임 예외를 발생시킵니다. 그러나 다른 플랫폼에서는 프로그램이 다르게 동작 할 수 있습니다. 웹 사이트의 IDE가 다른 플랫폼에서이 프로그램을 실행 중일 수 있으며 해당 플랫폼이 상위 멤버 변수의 부적절한 값으로 인해 코드 일부만 실행될 수 있습니다. 따라서 출력 버퍼가 용량을 초과합니다.
내 의견으로는, 아래 루프가 무한히 실행되고 있습니다.
while(!(s1->isEmpty()))
{
int temp=s1->pop();
push(temp);
printf("\n%d\t",temp);
}
이 포인터를 초기화하면 프로그램이 올바르게 실행됩니다.
질문에 코드를 추가하십시오. 미래에 링크가 죽어 다른 사람에게이 질문을 쓸모 없게 만들 수도 있습니다. [묻는 방법] (https://stackoverflow.com/help/how-to-ask) 및 [MCVE] (https://stackoverflow.com/help/mcve)를 읽어보십시오. –