Ho modificato così:
/*
* list.h
*
* Created on: 12/mag/2013
* Author: olivierognn
*/
#ifndef LIST_H_
#define LIST_H_
#include <iostream>
using namespace std;
template <class T>
class list{
struct node{
T data;
node * next;
};
node *head;
public:
list(){
head=0;
cout<<"\nLista inizializzata\n";
}
void push(T value){
cout<<value<<" aggiunto;";
node*n=new node;
n->data=value;
n->next=head;
head=n;
}
void pop(){
node * n=head->next;
delete head;
head=n;
}
void print(){
cout<<"\nFunzione print richiamata";
node * temp=head;
while (temp!=0){
cout<<temp->data;
temp=temp->next;
}
}
~list(){
while(head!=0){
node*n=head->next;
delete head;
head=n;
}
}
};
#endif /* LIST_H_ */
funziona se nel main uso:
int main(){
list<float> l;
l.push(1.2);
l.push(2);
l.push(3);
l.push(4);
l.print();
l.pop();
l.print();
}
funziona, ma è il metodo corretto per procedere?