关于指针和数据类型初始化的小困惑

当我们为一个树或一个链表建立结构时,具有以下性质:

Struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

队列存储结构节点的类型是什么?我认为这是该结构的指针。

std::queue<TreeNode*> q;

但是,如果我尝试像这样初始化多个节点:

TreeNode* l = nullptr, r = nullptr;

它不起作用,您必须做

TreeNode *l = nullptr, TreeNode *r = nullptr;

有人可以帮助我更好地理解这一点吗?

评论