*i
- это String
, а не char *
.Если log.debug()
является функцией семейства printf
, вам нужна строка с нулевым символом в конце.В зависимости от того, как реализован ваш класс String
, у вас может быть функция, которая возвращает const char *
.
Например, с std::string
эта функция равна c_str
:
for(std::list<std::string>::const_iterator i = my_list.begin(); i != my_list.end(); ++i)
{
printf("%s\n", i->c_str());
}