la base de l'opérande de ‘->’ a la non-type de pointeur

D'abord, le code:

//...

struct node_list {
    node_list *prev;
    node *target;     //node is defined elsewhere in the application
    node_list *next;
    };

node_list nl_head;

int main() {
    nl_head->prev = &nl_head;
    //...
    return 0;
    }

J'obtiens une erreur:

make (in directory: #####)
g++ -Wall -std=c++11 -o main main.cc
main.cc: In function int main(int, char**)’:
main.cc:38:9: error: base operand of ‘->’ has non-pointer type node_list
  nl_head->prev = &nl_head;
         ^
Makefile:8: recipe for target 'main' failed
make: *** [main] Error 1
Compilation failed.

Autant que je peux dire à ma syntaxe est correcte. Quelqu'un peut-il point l'erreur?

Avant que quelqu'un le signale comme un doublon, je suis conscient qu'il est semblable à un couple d'autres questions, mais aucune de ses solutions ne semble fonctionner pour moi. Sauf si je fais erreur, ce qui je l'admets est possible, mais c'est pourquoi je suis ici.

OriginalL'auteur FatalKeystroke | 2013-12-15