I need to store/get pointer to raw data

here my test code

Qt Code:
  1. #include <QtCore>
  2. #include <QtGui>
  3. #include "qttest.h"
  4. #include <string.h>
  5. #include <stdio.h>
  6.  
  7.  
  8. qttest::qttest(QWidget *parent, Qt::WFlags flags)
  9. : QDialog(parent, flags)
  10. {
  11. ui.setupUi(this);
  12. ui.treeWidget->setHeaderLabels(QStringList() << "#" << "Name" << "Count" );
  13. QTreeWidgetItem *item =0;
  14. for(int i=0;i<50;i++){
  15. item = new QTreeWidgetItem(ui.treeWidget);
  16. item->setText(0,QString::number(i));
  17. item->setText(1,tr("Item %1").arg(i) );
  18. //item->setToolTip(1,"<b>hello's <br>QT</b>");
  19. unsigned char *data = new unsigned char [1024];
  20. strcpy((char*)data,"Hello world");
  21. item->setData(0,Qt::UserRole,data);
  22.  
  23. QString count = QString::number(rand()%100);
  24. item->setText(2,count );
  25. ui.treeWidget->addTopLevelItem(item);
  26. }
  27.  
  28.  
  29.  
  30. }
  31.  
  32. qttest::~qttest()
  33. {
  34.  
  35.  
  36. }
  37.  
  38.  
  39. void qttest::on_listWidget_currentRowChanged(int)
  40. {
  41.  
  42. }
  43.  
  44. void qttest::on_treeWidget_doubleClicked(QModelIndex)
  45. {
  46. //QString text = ui.treeWidget->currentItem()->text(1);
  47. char *num =(char*) ui.treeWidget->currentItem()->data(0,Qt::UserRole).value< char* >();
  48.  
  49.  
  50.  
  51. ui.listWidget->addItem(num);
  52. }
To copy to clipboard, switch view to plain text mode 

Code can't compile ,here error

Qt Code:
  1. Error 1 error C2039: 'qt_metatype_id' : is not a member of 'QMetaTypeId<T>' e:\qt\4.2.2\src\corelib\kernel\qmetatype.h 166
To copy to clipboard, switch view to plain text mode 

Thank you in advance.