#include <sstream>
#include <string>
using namespace std;
void fRec(int i) {
if (i == 0) {
return;
}
fRec(i - 1);
ostringstream s;
}
int main(int argc, char *argv[]) {
fRec(50000);
return 0;
}
에서 이제 stringstream,이 생산 :C++ - 실행 재귀 함수
Segmentation fault (core dumped)
역 추적을 GDB에서 :
#0 0x000000000040064f in fRec (i=<error reading variable: Cannot access memory at address 0x7fffc75a6f5c>) at strstr.cpp:6
#1 0x000000000040066e in fRec (i=28182) at strstr.cpp:11
#2 0x000000000040066e in fRec (i=28183) at strstr.cpp:11
#3 0x000000000040066e in fRec (i=28184) at strstr.cpp:11
#4 0x000000000040066e in fRec (i=28185) at strstr.cpp:11
#5 0x000000000040066e in fRec (i=28186) at strstr.cpp:11
...
이 왜 그런지 내가 묻고 싶다 - 내가 만드는 경우 ostringstream 대신 문자열 객체이면 모든 것이 끝납니다. 한 번에 너무 많은 stringstream 인스턴스가있을 수 없다면 나에게 좋을 것 같습니다. 해명에 대한
덕분에
설명해 주신 분께 감사드립니다! – Ferrard