You didn't initialize the pNext pointer, so it has probably some random value.
Try to use this declaration :
struct Node{
//Default constructor, which sets all values to something meaningful
Node():pNext(nullptr), nValue(0) {}
Node* pNext;
int nValue;
};