"*"标记之前的预期构造函数、析构函数或类型转换 模板化链表
Expected constructor, destructor, or type conversion before '*' token Templated linked list
我的问题与此非常相似。但是,我的实现有所不同,因为我使用了模板化的链接列表
这里是我得到错误的地方(第二行)。此函数的目的是返回一个指向列表
中第k个位置的节点的指针。template <class T>
List<T>::ListNode* List<T>::find(int k)
{
ListNode * curr = head;
while(curr != NULL && k > 0) {
curr = curr->next;
k--;
}
return curr;
}
我的列表是这样的(由节点组成,存储任意类型T的数据)
template <class T>
class List
{
private:
class ListNode
{
public:
ListNode();
ListNode(T const & ndata);
ListNode * next;
ListNode * prev;
const T data;
};
本质上这是相同的问题,除了我的列表是模板化的。因此,在修复了其他问题之后,我的代码仍然会抛出错误。你知道为什么会这样吗?
您需要使用typename
关键字:
template <class T>
typename List<T>::ListNode* List<T>::find(int k)
{
...
}
这让编译器知道ListNode
是一个类型。当你有一个依赖于类型的名称(即依赖于模板参数的名称)时,
相关文章:
- LINUX 操作系统上的错误:令牌之前预期的构造函数、析构函数或类型转换'('?
- 错误 c++ 在令牌之前'('预期的构造函数、析构函数或类型转换
- 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换.即使我有一个构造函数
- 获取错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- 如何销毁通过"放置新"构造的无析构函数类型
- 错误:令牌之前的预期构造函数、析构函数或类型转换'*'
- 不同的析构函数类型
- 字符串常量之前的预期构造函数、析构函数或类型转换
- 需要构造函数/析构函数/类型转换错误
- C++模板错误:'<'令牌之前的预期构造函数、析构函数或类型转换
- 错误:在非常简单的示例中,预期的构造函数、析构函数或类型转换
- 错误:'<'令牌之前的预期构造函数、析构函数、类型转换
- 令牌之前的预期构造函数、析构函数或类型转换'*'
- 错误:标记之前的预期构造函数、析构函数或类型转换?
- 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- C++ 错误:令牌之前的预期构造函数、析构函数或类型转换'*'
- C++ 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- 预期的构造函数、析构函数或类型转换
- 不稳定的声明行为:Rational.h:25:错误:在"&"标记之前预期的构造函数、析构函数或类型转换
- 编译时错误:期望的构造函数、析构函数或转换