• 5054阅读
  • 2回复

[提问]可能是遇到多线程问题。 [复制链接]

上一主题 下一主题
离线sunlighta
 
只看楼主 正序阅读 楼主  发表于: 2012-11-07
构造一个结构体。
在循环开始声明这个结构体,在结束时把这个结构体插入到链表里。
但在循环结束时会自动析构该结构体。
可是程序运行时,会在qatomic_windows.h中报读写错误
具体位置停在:324行的
return QT_INTERLOCKED_DECREMENT(&_q_value) != 0;
离线sunlighta
只看该作者 2楼 发表于: 2012-11-07
回 1楼(jdwx) 的帖子
typedef struct _sa
{
    QString a;
}sa

aa :: function()
{
     QList<sa> salist;
      while()
      {
          sa tmp;
          proc....
          
          salist.append(sa);
      }//这里报错。会把sa自动析构的。
}
离线jdwx

只看该作者 1楼 发表于: 2012-11-07
基于值的链表会保存副本,指针链表new出来的不会被析构,
除非是基于指针的链表,保存的是栈内的数据。
就像这样
int i = 0;
list.append(&i);
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个