墨桃夭夭 2014-12-25 14:29 采纳率: 0%
浏览 1816

MFC中deque的at()函数访问,诡异的问题

我的程序
for (int i = 0; i <EEGData3_all.size(); i++)
{
if (i / 200 % 5 != 0 && i / 200 % 5 != 1)//记录先验知识对应的脑电,200Hz,下位机向上位机发送数据频率
{
EEGData1.push_back(EEGData1_all[i]);
EEGData2.push_back(EEGData2_all[i]);
EEGData3.push_back(EEGData3_all[i]);
}
}

for (int k = 0; k <180; k++)
{
float before_EEGData1 = 0;
float before_EEGData2 = 0;
float before_EEGData3 = 0;//
float beforeave_EEGData1=0;
float beforeave_EEGData2=0;
float beforeave_EEGData3=0;//用于求均值
for (int j= 0; j<600; j++)
{
before_EEGData1+= EEGData1.at(j+k*600);
before_EEGData2+= EEGData2.at(j+k*600);
before_EEGData3+= EEGData3.at(j+k*600);
}
beforeave_EEGData1=before_EEGData1/600;
beforeave_EEGData2=before_EEGData2/600;
beforeave_EEGData3=before_EEGData3/600;
for (int p = 0; p <600; p++)//将均值变为0
{
afteravg_EEGData1.push_back(EEGData1.at(p+k*600)- beforeave_EEGData1);
afteravg_EEGData2.push_back(EEGData2.at(p+k*600)- beforeave_EEGData2);
afteravg_EEGData3.push_back(EEGData3.at(p+k*600)- beforeave_EEGData3);
}
}

 在语句before_EEGData1+= EEGData1.at(j+k*600);处出现错误:deque iterator ont dereferencable。可是EEGData1的size是108000,在EEGData1.at(0)处有值,为什么会出现这个错误啊,极度不解?求解答
  • 写回答

4条回答 默认 最新

  • 墨桃夭夭 2014-12-25 14:42
    关注

    而且语句before_EEGData2+= EEGData2.at(j+k*600);没有问题额,EEGData2.at(0)没有问题,这是怎么回事呢,求解答

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题