Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Ошибка с std::vector<>

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
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-й выдает такую ошибку почему?
_________________
умом Россию не понять
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...