使用我的结构作为返回类型的问题
Problems using my struct as a return type
我正在构建一个模板类"myTree",其中包括一个私有结构"myNode"。我还有一个私有函数"findNode",我想返回一个myNode*。然而,当我尝试定义"findNode"时,我得到5个错误,说这似乎源于第一个错误,说我在"myNode"answers"*"之间缺少分号。
下面是基本代码:template <size_t N, typename ElemType>
class myTree {
public:
//...
private:
struct myNode{
//...
};
myNode* findNode(const otherClass<N>& key);
};
template <size_t N, typename ElemType>
myNode* myTree<N, ElemType>::findNode(const otherClass<N>& key) {
return 0;
}
我尝试将返回类型更改为void,错误消失了,这意味着我假设我使用结构的方式有问题。
错误如下:语法错误:在"*"之前缺少";"2)缺少类型说明符——假定为int3) 'N'未声明的标识符4)'ElemType'未声明的标识符5)'N'未声明的标识符
这些都指向函数声明行(myNode* myTree::findNode(const otherClass&
myNode是一个内部类,需要在返回类型中限定:
template <size_t N, typename ElemType>
typename myTree<N,ElemType>::myNode*
myTree<N, ElemType>::findNode(const otherClass<N>& key)
后面需要一个分号
myNode* findNode(const otherClass<N>& key);
相关文章:
- 如何获取std::result_of函数的返回类型
- 奇怪的结构&GCC&clang(void*返回类型)
- 如何建立使用模板函数的lambda函数的尾部返回类型
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 特征::矩阵<双精度,1,3> 结构类型函数中的返回类型函数
- 函数作为模板参数,是否对返回类型强制约束
- C++中函数的向量返回类型引发错误
- 检查函数返回类型是否与STL容器类型值相同
- 特征返回类型的 pybind11 问题
- 必须使用尾随返回类型的示例,因为无法用旧方法解决问题
- 有关 C++17 中的尾随返回类型的问题
- 我的问题是关于类成员函数作为类指针的返回类型
- C 多重继承,虚拟方法覆盖问题和协变量返回类型
- 函数返回类型名列表:<T>:迭代器有什么问题?
- 尾随返回类型中的名称查找问题
- 正常函数的返回类型推导问题
- 使用受限函数时,尾随返回类型问题
- 使用我的结构作为返回类型的问题
- C++返回类型问题