Domanda

Nella seguente parte di codice:

BOOST_FOREACH(std::pair<PID, bool> &itval, completedEs_) {
    allCompleted &= it->second;
}

Ricevo questo errore:

errore: macro "BOOST_FOREACH" passata 3 argomenti, ma richiede solo 2

Sto passando solo 2 argomenti, cosa sta succedendo?

È stato utile?

Soluzione

Il primo tipo viene analizzato come due argomenti poiché contiene una virgola. Come soluzione alternativa, puoi digitare il tipo:

typedef std::pair<PID, bool> PID_bool_pair;
BOOST_FOREACH( PID_bool_pair &itval, completedEs_) {
    ...
}

Altri suggerimenti

Non puoi farlo a causa di BOOST_FOREACH MACRO LIMITAZIONI, Riscrivilo come:

//...
typedef std::pair<PID, bool> mypair;
BOOST_FOREACH(mypair &itval, completedEs_) {
    allCompleted &= it->second;
}
//...
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top