0
list<string> logs;
GetLogs(logs);
string first=logs.front();
**string last=logs.back();**

在这一点上,我得到了 progeam got SIGILL in GDB

我的 GetLogs() 函数定义是:

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

当程序收到此错误时,我可以看到值 p first Log.001 p last Log.003

我的代码有什么问题??

4

1 回答 1

0

我得到了解决方案。抱歉,GDB 在错误的行上显示了 SIGILL 错误。我收到错误是因为我们有一个使用格式化输入的日志记录机制,例如fprintf. 但我给%sstring这个问题。非常感谢你的耐心

first.c_str()last.c_str()解决了它。

于 2012-11-30T09:25:39.023 回答