Recientemente he actualizado a GCC 4.4 (TDM MinGW acumulación) y ahora el código de seguimiento produce estas advertencias:C++ advertencia GCC4.4: subíndice está por encima de límites de matriz
En nula Console :: Función de impresión de este miembro (const std :: string &) ':
advertencia: subíndice está por encima de límites de matriz
Aquí está el código:
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);
}
}
¿Alguna idea?
Es las optimizaciones que lo están haciendo ...
También parece ser esta línea, que está causando:
boost::split(tokens, newLine, boost::is_any_of("\n"));
Ah sí, me pareció , es el argumento a favor de impulso :: is_any_of(), envolviéndolo en una cadena() constructor de la advertencia desaparece, gracias a todos por su ayuda :)
boost::split(tokens, newLine, boost::is_any_of(string("\n")));
Presumiblemente, el compilador también dio un número de línea para el error? Por favor indícalo en tu código a través de un comentario. –
Por curiosidad, ¿todavía lo hace si declaras 'stringSize' como' const'? –
No da la línea #, la advertencia que publiqué allí es el texto exacto del compilador. – Adam