C ++ - GCC4.4-Warnung: Der Array-Index befindet sich oberhalb der Array-Grenzen

Ich habe kürzlich ein Upgrade auf GCC 4.4 (MinGW TDM Build) durchgeführt und jetzt erzeugt der folgende Code diese Warnung:

In der Mitgliedsfunktion 'void Console :: print (const std :: string &)':

Warnung: Array-Index befindet sich oberhalb der Array-Grenzen

Hier ist der Code:

void Console::print( const std::string& str ) {
        std::string newLine( str );
        if( newLine.size() > MAX_LINE_LENGTH ) {
            sf::Uint32 stringSize = newLine.size();
            for( sf::Uint32 insertPos = MAX_LINE_LENGTH;
                    insertPos < stringSize; insertPos += MAX_LINE_LENGTH ) {
                newLine.insert( insertPos, "\n" );
            }
        }

        StringList tokens;
        boost::split( tokens, newLine, boost::is_any_of("\n") );

        for( StringList::iterator it = tokens.begin();
                it != tokens.end(); ++it ) {
            addLine( *it );
        }
    }

Irgendwelche Ideen?

Es sind die Optimierungen, die es tun ...

Es scheint auch diese Zeile zu sein, die es verursacht:

boost::split( tokens, newLine, boost::is_any_of("\n") );

Ah ja, ich habe es gefunden, es ist das Argument für boost :: is_any_of (), durch das Umschließen in einen string () -Konstruktor verschwindet die Warnung, danke an alle für Ihre Hilfe :)

boost::split( tokens, newLine, boost::is_any_of( string( "\n" ) ) );

Antworten auf die Frage(3)

Ihre Antwort auf die Frage