list<string> logs;
GetLogs(logs);
string first=logs.front();
**string last=logs.back();**
此时我正在获得progeam在GDB中获得SIGILL
我的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 :(得分:0)
我得到了解决方案。很抱歉,但是GDB在错误的行上显示SIGILL错误。
我收到错误是因为我们有一个使用格式化输入的日志记录机制,如fprintf
。但我给%s
string
提出了这个问题。非常感谢你的耐心
first.c_str()
和last.c_str()
解决了它。