Stim24
Зарегистрирован: 16.01.2006 Сообщения: 6
|
Добавлено: Чт Мар 02 2006 10:47 Заголовок сообщения: Ошибка с std::vector<> |
|
|
вообщем я делаю цикл и в цикле у меня <vector> делает ресайз
screenshoot картинки ошибки на
http://www.gamedev.ru/forum/?group=0&topic=23524
Код: |
struct PROG // Структура для нахождения лучший корреляций и сред.квадр. отклонений
{
int number;
float korel, float sqr_otkl, float current , float next;
};
std::vector<PROG> Find_Kor_Sqr(std::vector<float> VecAll,std::vector<float> Vec,
float korel_min, float sqr_max) // Наложение вектора Vec на часть из VecAll и находим корреляцию и квадр. откл
/*--------------------------------------------------------------------------------*/
{
std::vector<PROG> V;
std::vector<float> T;
int N=VecAll.size()-Vec.size(),k=0;
std::vector<float> Vz;
for(int i=0;i<N;i++)
{
CopyVec(VecAll,Vz,i,Vec.size()+i);
float korel=Korel(Vz,Vec);
float sqr_otkl=Sqr_Otkl(Vz,Vec);
if (korel>=korel_min && sqr_otkl<sqr_max)
{
printf("-- DO T.resize(k+1) i=%d k=%d T.size()=%d \n",i,k,T.size());
T.resize(k+1); // Массив Т сделал так пряпроверки на нем все ок
printf("-- DO V.resize(k+1) i=%d k=%d V.size()=%d \n",i,k,V.size());
V.resize(k+1);// А ТУТ ВЫЛЕТАЕТ И ВЫДАЕТ ОШИБКУ ВЫШЕ
printf("-- posle V.resize(k+1) i=%d k=%d \n",i,k);
V[k].korel=korel;
V[k].sqr_otkl=sqr_otkl;
V[k].number=i;
V[k].current=VecAll[i+Vec.size()-1];
V[k].next=VecAll[i+Vec.size()];
k++;
}
}
return V;
}
|
Данная ф-ция вызываеться не однократно и гдето на раз 10-50-й выдает такую ошибку почему? _________________ умом Россию не понять |
|