2010-05-27 20 views
5

Im implementando un B-tree en C++, tengo una pila que ahorra pares. mi problema es cómo puse esta pila porque solo acepta 1 argumento. graciasStack STL con 2 params

+3

Puede aclarar su problema? Ahora parece un simple 'stack.push (std :: make_pair (first, second));' con 'stack' como' std :: stack > 'es todo lo que necesita. – Pieter

Respuesta

3
#include <utility> 

// ... 
stack<pair<string,string> > s; 
s.push(make_pair("roses", "red")); 
6

Utilice std :: pair proporcionado por la biblioteca estándar.

Puede crearlos con la función make_pair.

#include <iostream> 
#include <stack> 
#include <string> 
using namespace std; 

int main(int argc, char **argv) 
{ 
    int myInt = 1; 
    string myString("stringVal"); 

    stack<pair<string, int> > myStack; 
    myStack.push(make_pair(myString, myInt)); 

    return 1; 
} 
+0

gracias. No sé AWL. es solo que lo necesito. gracias a todos. – petercartagena

3
#include <stack> 
#include <utility> 
#include <iostream> 
using namespace std; 

int main() { 
    stack <pair<int,int> > s; 
    s.push(make_pair(1, 2)); 
    pair <int, int> p = s.top(); 
    cout << p.first << " " << p.second << endl; 
}