Armazena os resultados do método std :: stack .pop () em uma variável

Eu gostaria de fazer o seguinte:

std::stack <int> s;
int h = 0;
s.push(2);
h = s.pop();

Tal como terh&nbsp;segure o valor 2. Quando eu tento o meu método, eu tenho "valor vazio não ignorado como deveria ser".

Não é essa a intenção do.pop()&nbsp;método? Qual é a maneira preferida de fazer isso?