【发布时间】:2012-11-30 09:01:42
【问题描述】:
list<string> logs;
GetLogs(logs);
string first=logs.front();
**string last=logs.back();**
此时我正在 GDB 中获得 progeam got SIGILL
我的 GetLogs() 函数定义是:
int GetLogs(list<string>& logs){
logs.push_back("Log.001");
logs.push_back("Log.002");
logs.push_back("Log.003");
return 0;
}
当程序出现此错误时,我可以看到值 优先 日志.001 最后 日志.003
我的代码有什么问题??
【问题讨论】:
-
当你显示的代码是程序中唯一的东西(除了包括等)时,它会这样做吗?
-
你能想出一个最小但完整的例子来展示这个问题,然后发布吗?
-
它是一个造成问题的片段..它是一个非常大的代码。是否需要包含所有内容? stdlib 和 stdio 都在那里。
-
@NPE 请给我一点时间。我来了
-
当您在
GetLogs中执行string last = logs.back()作为最后一条语句时会发生什么?