l'utilisation d'un effacement de la fonction d'erreur

j'ai eu un problème avec /usr/include/c++/4.6/ext/new_allocator.h:108:9: error: use of deleted function ‘SMIBQueue::SMIBQueue(const SMIBQueue&)’ avec C++ sous eclipse.

et je suis en utilisant -std=c++0x drapeau de l'utilisation de C++11

si je l'ai trouvé au point que l'erreur se produire, je ne sais pas pourquoi.

ce fichier d'en-tête

class SMIBQueue{
private:
    std::queue<unsigned char> exceptionQueue;
    std::queue<UserRequest*> userInputQueue;
    std::queue<LpRsp*> lpRspQueue;
    std::queue<LpCmd*> lpCmdQueue;

    std::mutex EvtQueueLock;
    std::mutex UserQueueLock;
    std::mutex LpRspQueueLock;
    std::mutex LpCmdQueueLock;
public:

    int evtGetItem(unsigned char &item);
    int evtPutItem(unsigned char item);
    int userGetItem(UserRequest*& item);
    int userPutItem(UserRequest* item);
    int lpGetItem(LpCmd*& queue_buf);
    int lpPutItem(LpCmd *queue_buf);
    int lpRspGetItem(LpRsp*& queue_buf);
    int lpRspPutItem(LpRsp *queue_buf);
    int lpRemoveQueuedInfo();
    int lpRspRemoveQueuedInfo();
};

class SMIBQueues{
public:
    static std::vector<SMIBQueue> smibQueues;
    static void queueInit(int numOfClient);
    static int evtGetItem(int sasAddr, unsigned char &item);
    static int evtPutItem(int sasAddr, unsigned char item);
    static int userGetItem(int sasAddr, UserRequest*& item);
    static int userPutItem(int sasAddr, UserRequest* item);
    static int lpGetItem(int sasAddr, LpCmd*& queue_buf);
    static int lpPutItem(int sasAddr, LpCmd *queue_buf);
    static int lpRspGetItem(int sasAddr, LpRsp*& queue_buf);
    static int lpRspPutItem(int sasAddr, LpRsp *queue_buf);
    static int lpRemoveQueuedInfo(int sasAddr);
    static int lpRspRemoveQueuedInfo(int sasAddr);
};

et c'est la fonction que l'erreur se produire à

std::vector<SMIBQueue> SMIBQueues::smibQueues;

void SMIBQueues::queueInit(int numOfClient){
    for(int i = 0 ; i < numOfClient; i++){
        SMIBQueue s;
        smibQueues.push_back(s);
    }
}

dans cette fonction, push_pack méthode fait l'erreur.
quand j'éliminer la partie, il n'y a pas de problème lors de la compilation.

OriginalL'auteur SangminKim | 2014-05-30