Hi everyone,
I was trying to add a class object pointer to a QList<A*> list.

Qt Code:
  1. Class A
  2. {
  3. QString myName;
  4. public QString Desc()
  5. {
  6. return myName;
  7. }
  8.  
  9. }
  10.  
  11. Class B
  12. {
  13. QList<A*> list;
  14. public void Add(QString s){
  15. A myOb;
  16. list.append(&myOb);
  17. }
  18. public void search(QString s)
  19. {
  20. for(int i=0;i<list.size();++i){
  21. if (list[i].Desc() ==s) {
  22.  
  23. }
  24. }
  25. }
  26. }
To copy to clipboard, switch view to plain text mode 

I get segmentation fault I think.


Qt Code:
  1. Class A
  2. {
  3. QString myName;
  4. public QString Desc()
  5. {
  6. return myName;
  7. }
  8.  
  9. }
  10.  
  11. Class B
  12. {
  13. QList<A*> list;
  14. public void Add(QString s){
  15. A *myOb=new A();
  16. list.append(myOb);
  17. }
  18. public void search(QString s)
  19. {
  20. for(int i=0;i<list.size();++i){
  21. if (list[i].Desc() ==s) {
  22.  
  23. }
  24. }
  25. }
  26. }
To copy to clipboard, switch view to plain text mode 

It works fine.

What's the differnce between list.append(&myOb) and list.append(myOb) in above code.