gpt4 book ai didi

c++ - 尝试在模板类中使用模板对象时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:02 25 4
gpt4 key购买 nike

考虑以下类定义......

节点

    template <class T> class Node {
private :
T* data;
Node<T>* next;
public :
Node(T* data);
void setData(T* data);
T* getData();
void setNext(Node<T>* next);
Node<T>* getNext();
};

链表

    template <class T> class LinkedList {
private :
Node<T>* start;
public :
LinkedList();
void add(Node<T>* node);
bool isEmpty();
};

主要

    #include "Foo.h"
int main() {
Foo foo();
Node<Foo> node(&foo);
LinkedList<Foo> linkedList();
linkedList.add(&node);
return 0;
}

编译时会抛出以下错误...

    Request for member 'add' in 'linkedList', which is of non-class type 'LinkedList<Foo>()'

我在使用模板方面经验不足,因此非常感谢任何帮助。

最佳答案

Foo foo();LinkedList<Foo> linkedList();不是变量而是函数原型(prototype)。

请使用Foo foo;LinkedList<Foo> linkedList;相反。

您还可以使用 Foo foo = Foo();LinkedList<Foo> linkedList = LinkedList<Foo>();明确调用了构造函数。

关于c++ - 尝试在模板类中使用模板对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32643989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com