정수를 문자열로 변환하려고하는 간단한 함수에 문제가 있습니다. 여기에 코드입니다 :C++ stringstream 변환 오류
string Problem::indexB(int i, int j, int k){
stringstream ss;
if(i < 10)
ss << "00";
else if(i<100)
ss << "0";
ss << i;
if(j < 10)
ss << "00";
else if(j<100)
ss << "0";
ss << j;
if(k < 10)
ss << "00";
else if(k<100)
ss << "0";
ss << k;
return ss.str();
}
기능은 잘 작동,하지만 메이크업의 여러 호출 할 때 나에게 어떤 점에서 세그먼트 오류를 제공합니다.
어떤 점이 좋습니까? 디버깅을 위해 무엇을 했습니까? – StoryTeller
이 코드 조각에는 오류가 없습니다. valgrind를 사용하여 스택 손상을 찾거나 이와 유사한 –
문제가 반환 라인에 있는지 확인하십시오. 여러 번 호출하면 ".str()"함수가 세그멘테이션 오류를 발생시킵니다. 다음은 gdb와 관련된 문제입니다. '프로그램 수신 신호 SIGSEGV, 세그먼트 오류. malloc.c의 _int_malloc (av = 0x7ffff74191c0, bytes = 26) malloc.c : 4339 malloc.c : 파일 또는 디렉토리를 찾을 수 없습니다. \t in malloc.c' – user569709