0

因此,我尝试使用刚刚在 LinkedList 类中编写的 Node 类,但出现以下错误:

Symbol 'Node' could not be resolved

在下面的代码中。

#ifndef LINKEDLIST_H_
#define LINKEDLIST_H_

#include "Node.h"

template<class T>
class LinkedList {

    private:
        //Data Fields-----------------//
        Node<T> head;
        Node<T> tail;
};

#endif /* LINKEDLIST_H_ */

Node的声明如下:

#ifndef NODE_H_
#define NODE_H_

template<class T>
class Node {

更新:

所以我的 Node 类被包含在我的 LinkedList 中仍然存在问题。但是我发现通过将这两个类放在一个头文件中,我没有问题。所以它必须意味着问题完全在于包含......这让我感到困惑,因为这让它看起来像是像我这样的 C++ 初学者不知道的基于语言的细微差别......

4

2 回答 2

2

为什么在#include "Node.h" 之后有分号,这就是问题所在。
编辑:您可以做的事情来排除故障:

  1. 内联类定义,
    即用类的实际定义替换#include语句(仅用于测试)
  2. 检查您的标头保护(例如 # ifndef LINKEDLIST_H_
    尝试重命名它们或完全删除它们(再次仅用于测试)
于 2012-08-18T16:23:01.690 回答
0

所以这只是随机开始为我工作......我不知道问题是什么,但它现在工作......我正在使用带有 eclipse 的 CDT,它不是 C++ 开发最稳定的东西。所以我的猜测是它以某种方式与此有关....

于 2012-08-23T03:09:56.007 回答