您的位置:首页 > 其它

PB中使用顺序容器list出现Data Abort

2011-05-24 16:35 176 查看
测试代码如下 WINCE5.0 随便找了个流驱动里面测试。

list test; 

void func() 
{ 
   test.push_back(1); 
}
如果把test定义为全局变量,则会有Data Abort。



而下面局部变量那个则不会有问题。



void func() 
{ 
  list test; 
  test.push_back(1);
}




顺便用同样的方法测试了下vector。。

不会出现Data Abort。



原因是全局变量的初始化顺序是不可控制的,

定义成全局对象指针,

在函数中进行初始化即可。。

或者这样写

inline list<int> Get_List()
{
    static list<int> test;
    return test;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: