The above code contains several errors, though, which makes the results undefined:
You could rather make use of the standard algorithms, for example:
//Return true if there is a new line character after the last #
list<char>::iterator list_iter = row_chars.end();
while(*list_iter != '#') //dereferences row_chars.end() right away; what happens if there is no '#'?
cout << "Finished while loop; print what is at current container: " << *list_iter << "\n";
cout << "Now move container forward (to last position)... \n";
if(*list_iter == '\n') //what if '#' was the last character?
std::list<char>::const_reverse_iterator it = std::find(row_chars.rbegin(), row_chars.rend(), '#');
if (it != row_chars.rend()) //found
std::list<char>::const_iterator next = it.base();
return next != row_chars.end() && *next == 'n'; //if next character exists and is line-break