我正在尝试打印出一个字符串列表:
std::list<String> const &prms = (*iter)->getParams();
std::list<String>::const_iterator i;
for(i = prms.begin(); i != prms.end(); ++i){
log.debug(" Param: %s",*i);
}
但我的程序崩溃说Illegal Instruction
。我做错了什么?
答案 0 :(得分:11)
*i
是String
,而不是char *
。如果log.debug()
是printf
系列的函数,则需要以零结尾的字符串。根据{{1}}类的实现方式,您可能会有一个返回String
的函数。
例如const char *
该功能 std::string
:
c_str