Código PHP:
#include <iostream>
using namespace std;
class Memoria{
private:
struct elemento{
// int id;
int dato;
// int tam;
elemento *sig;
}*m;
public:
Memoria(){ //constructor iniciamos en 0
m=NULL;
}
void insertar(int d/*, int t*/){
elemento *q;
q=new elemento();
//q->id=num;
q->dato=d;
//q->tam=t;
q->sig=m; //q->sig apunta a lo que está apuntando m
m=q;
//num++;
}
int extraer (){
elemento *q;
int d;
if(m==NULL){
cout<<"\n Pila vacia";
return -1;
}
q=m;
m=q->sig;
d=q->dato;
delete q;
return d;
}
void imprimir()// esta es mi función donde mando a imprimir, pero realmente no hace nada, y según yo está bien
{
elemento *q;
while(m!=NULL){
cout<<"\n solo imprimo";
cout<<"\n m"<<q->dato;
}
}
bool vacia(){
if(m==NULL)
return true;
return false;
}
~Memoria(){
while(m!=NULL){
extraer();
}
}
};
/*void muestra() esto sólo es una función de prueba q pongo
{
Memoria p;
while(p.vacia()!=true){
cout<<"\n solo imprimo";
cout<<"\n m"<<m;
}
}*/
int datos(){
int d;
cout<<"\n proceso: ";
cin>>d;
return d;
}
int tamanio(){
int t;
cout<<"\n Tamaño: ";
cin>>t;
return t;
}
void proceso(int n){
Memoria p;
int len=-1;
p.insertar(n);
cout<<"\n"<<n;
}
void transferir(){
}
int main() {
int op;
int *n,d,*s,n1;
Memoria p;
cout<<"\n Menú";
cout<<"\n 1. Almacenar una tarea";
cout<<"\n 2. Ejecutar tarea (pasar tarea de memoria a cpu)";
cout<<"\n 3. Eliminar tarea de cpu"<<endl;
// p.mostrar();
cin>>op;
// cout<<"\n 4. Elimina"
switch (op) {
case 1:
cout<<"\n proceso?: ";
cin>>d;
proceso(d);
p.imprimir();// aquí mando llamar a imprimir.
break;
case 2:
break;
default:
break;
}
, si mando llamar la función imprimir adentro del main no hace nada, pero si imprimir la mando llamar dentro de la función proceso si entra hasta la parte del cout que dice "solo texto" y de ahí se traba. No sé que está pasando. 

