C++ std::out_of_range d'erreur lorsque j'essaie d'exécuter le programme

Bon alors tout d'abord, Im assez nouveau pour la programmation, j'ai seulement lu un peu de choses et ont travaillé sur un projet d'Euler problèmes pour envelopper ma tête autour de concepts et de ces. Cependant, j'ai eu un message d'erreur aujourd'hui que je ne pouvais pas donner un sens j'ai donc pensé que je pourrais demander ici de l'aide! Des liens ou des conseils est apprécié!

Voici le message d'erreur:

terminate called after throwing an instance of 'std::out_of_range'  
what(): basic_string::substr Aborted

Donc, tous les conseils que vous pourriez avoir serait génial! Si vous avez besoin de voir mon code ou avez des questions, posez-les! Mais je préfère essayer de comprendre le problème, puis de trouver la réponse moi-même! Merci!

EDIT: Bon, puisque vous les gars, vous dites que vous auriez besoin de voir le code ici, il est.

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int stringtoint(string s_convertee)
{
    int i=0;
    istringstream sin(s_convertee);
    sin >> i;
    return i;
}


int main()
{
string s_testnum = "233456091289474545356";
int n_maxmult = 0;
for (int i = 0; i<s_testnum.length(); i++)
  {
      int n_product = 1;
      for (int j = i; j<(i+4); j++)
      {
          string s_multiplier = s_testnum.substr(j, 1);
          int n_multiplier = stringtoint(s_multiplier);
          n_product *= n_multiplier;
      }
      if (n_product>n_maxmult)
      {
          n_maxmult = n_product;
      }

  }
return 0;
}
  • poster le code serait sympa!
  • Vous essayez d'accéder à un élément, avec un index, plus grande que la taille de la chaîne ?
  • Nous sommes tous assez nouveau pour la programmation, mais nous avons compris que cela a à voir avec le code source. Avez-vous une?
  • Toutes les réponses ici peut faire bien juger des suppositions sur ce qui est mal, mais aucun ne peut point le problème, sauf si vous postez votre code source.
InformationsquelleAutor samuraiseoul | 2011-06-01