2012-11-30 2 views
0
list<string> logs; 
GetLogs(logs); 
string first=logs.front(); 
**string last=logs.back();** 

을 제공 목록 의 처음과 마지막 요소는 GDB에 SIGILL을 가지고하기 내가 progeam을지고있어이 시점에서 나에게 잘못된 명령 오류

내 GetLogs() 함수의 정의는 다음과 같습니다

int GetLogs(list<string>& logs){ 
logs.push_back("Log.001"); 
logs.push_back("Log.002"); 
logs.push_back("Log.003"); 
return 0; 
} 

프로그램에서이 오류가 발생하면 값을 볼 수 있습니다 처음으로 Log.001 마지막으로 Log.003

내 코드에 어떤 문제가 있습니까 ??

+0

표시된 코드가 프로그램에 포함 된 것 외에 유일한 것일 때 이렇게합니까? – chris

+1

문제를 보여주는 최소한이지만 완전한 예제를 생각해 내고 게시 할 수 있습니까? – NPE

+0

문제를 만드는 조각입니다. 매우 큰 코드입니다. 포함하고 모두 필요합니까 ?? stdlib와 stdio가 있습니다. – Sreekar

답변

0

나는 해결책을 얻었다. 미안하지만 GDB는 잘못된 라인에 SIGILL 에러를 보여주고있었습니다. fprintf과 같은 형식화 된 입력을 사용하는 로깅 메커니즘이 있기 때문에 오류가 발생했습니다. 그러나 %sstring을 붙이면이 문제가 발생합니다. 양해 해 주셔서 대단히 감사합니다.

first.c_str()last.c_str()이 해결되었습니다.

관련 문제