【问题标题】:Why can't use '->' c++ template class [closed]为什么不能使用'->' c++模板类[关闭]
【发布时间】:2018-11-17 06:37:49
【问题描述】:
#include <iostream>

using namespace std;

template <typename E>
class NodeList {
public:
    class Node {
    public:
        Node* next;
        Node* prev;
        E elem;
    };
public:
    Node* begin() const;
    NodeList();
public:
    Node* header;
    Node* trailer;
    int size;
};

template <typename E>
NodeList<E>::NodeList(){
    size = 0;
    header = new Node;
    trailer = new Node;

    header->
    trailer->

}

我想用NodeList类的成员变量,但是不能用。

header-&gt;nexttrailer-&gt; prev

'->'为什么?

不知道为什么不能用!

对不起,我修改了它!

来自

header-&gt;trailer

header-&gt;next

当我输入 '->' 然后没有类似 next、prev、elem 的操作

【问题讨论】:

  • 如果你期待 Java 的“内部”类,C++ 就不会那样工作。
  • 等一下。您是在问为什么智能感知没有提出任何建议,还是您在构建时 时确实遇到错误?
  • 请显示实际的错误信息。您的示例看起来您希望您的自动完成功能会向您建议一些事情,并且很困惑为什么它没有。那只是你的自动完成没有帮助,它对你的代码是否正确没有影响。
  • @StoryTeller 是的智能感知不建议任何东西
  • @MaxLanghof intellisense : 没有可用的成员

标签: c++ templates


【解决方案1】:

嗯,headerNodeList 的一个属性,并且是一个指向Node 的指针。

Node 没有标头或尾标,它只有 prevnext。因此,您可以根据需要使用header-&gt;nexttrailer-&gt;prev

【讨论】:

  • 抱歉修改了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
相关资源
最近更新 更多