Does anyone have an example of CQueue

 

Hi Guys, 

I am trying to use CQueue class, but I got an error of " objects are passed by reference only", what does this mean?

//+------------------------------------------------------------------+
//|                                          MultiTimeFrame-gold.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

#include <Generic/Queue.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

ENUM_TIMEFRAMES  PERIODS[] ={PERIOD_MN1,PERIOD_W1,PERIOD_D1,PERIOD_H12};

int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
class CrossEvent{
   public:
      //bool Equals(CrossEvent x,CrossEvent y);
      string time;
      ENUM_TIMEFRAMES period;
      
};

//template<typename T>
//class EventQueue : public CQueue<T>{
//};

class Status{
   public:
      CQueue<CrossEvent> queue;   
};




//bool CrossEvent::Equals(CrossEvent x,CrossEvent y){
//   return x.period == y.period && x.time == y.time;
//};

//template<typename T>
//EventQueue::EventQueue(void): m_default_capacity(4),
//                      m_size(0),
//                      m_head(0),
//                      m_tail(0)
//  {
//   ArrayResize(m_array,m_default_capacity);
//  };
 
Add * at this line
CQueue<CrossEvent *> queue;
Reason: