Non c'è bisogno di inizializzare un vettore modo
vector<pair<string,string>> myVec();
Si tratta di una dichiarazione di funzione con il nome myVec
che non ha parametri e ha tipo di ritorno vector<pair<string,string>>
E 'sufficiente scrivere semplicemente
vector<pair<string,string>> myVec;
perché in ogni caso si sta creando un vettore vuoto.
Oppure, se si vuole che il vettore aveva alcuni valori iniziali e il vostro compilatore supporta C++ 2011 allora si può anche scrivere ad esempio
std::vector<std::pair<std::string, std::string>> myVec =
{
{ "first", "first" }, { "second", "second" }, { "third", "third" }
};
fonte
2015-06-22 17:23:10
Oppure, in alternativa, nessuna parentesi a tutti – KABoissonneault