尝试为 Arduino 编写程序时出现错误。我是 C++ 的新手,所以这很可能是我所缺少的简单而明显的东西。我正在尝试创建一个简单的模板链接列表,但一直遇到问题。我在我的速写本的自己的 ino 文件中声明了以下内容。当我尝试使用 LinkedListItem 类时,出现以下错误。即使我删除了模板,我仍然会得到同样的错误。
error: ISO C++ forbids declaration of 'LinkedListItem' with no type
LinkedList:9: error: expected ';' before '<' token
和代码:
template <class T>
class LinkedListItem {
public:
LinkedListItem(T value);
T getValue();
LinkedListItem<T>* getPreviousItem();
void setPrevious(LinkedListItem<T>* previous);
LinkedListItem<T>* getNextItem();
void setNext(LinkedListItem<T>* next);
private:
LinkedListItem<T>* _previous;
LinkedListItem<T>* _next;
T _value;
};
template <class T>
LinkedListItem<T>::LinkedListItem(T value) {
_value = value;
}
template <class T>
T LinkedListItem<T>::getValue() {
return _value;
}
template <class T>
LinkedListItem<T>* LinkedListItem<T>::getPreviousItem() {
return _previous;
}
template <class T>
void LinkedListItem<T>::setPrevious(LinkedListItem<T>* previous) {
_previous = previous;
}
template <class T>
LinkedListItem<T>* LinkedListItem<T>::getNextItem() {
return _next;
}
template <class T>
void LinkedListItem<T>::setNext(LinkedListItem<T>* next) {
_next = next;
}
我声明一个指向 LinkedListItem 的指针,如下所示:
LinkedListItem<String>* _list;
任何帮助将不胜感激。