矢量模板参数无效
Vector template argument invalid
我有以下代码,
typedef struct node
{
int data;
node * left;
node * right;
}node;
#include <vector>
std::vector<node*> findValue(node * node, int value, std::vector<node*> parents) {...}
但是我收到编译错误:
错误:模板参数 1 无效
std::vector<node*> findValue(node * node, int value, std::vector<node*> parents) {
^
如何正确声明节点指针向量的函数参数?
in
std::vector<node*> findValue(node * node, int value, std::vector<node*> parents)
node * node
将标识符node
重新定义为变量。当编译器解析std::vector<node*> parents
时,节点不再是可以在模板扩展中使用的类型。
溶液
重复使用名称时要小心。
std::vector<node*> findValue(node * notnode, int value, std::vector<node*> parents)
notnode
是解决问题的一个例子。强烈建议使用更具描述性的名称。
相关文章:
- std::cin >>上的参数无效
- 结果失败或多个参数无效
- 错误:一元"*"的类型参数无效(具有"int"):使用 mergesort 计算
- 错误 带有模块的一元"*"(具有"int")的类型参数无效
- 由于调用 std::condition_variable 后参数无效而导致应用程序崩溃
- MPI_Iprobe:RMA 调用中的位移参数无效
- 推力::sort_by_key上的配置参数无效
- windres 致命错误:将输出写入时:参数无效
- 一元'*'的类型参数无效(有双精度)
- C++:传递给 C 运行时函数的参数无效
- 矢量模板参数无效
- 写入 -: 参数无效 } 时出错
- winsock2:recvfrom()函数以错误10022(参数无效)结束
- 模板参数的显式指定参数无效,该参数是 constexpr
- 模板参数无效
- 调用 getter 成员时的参数无效
- 模板模板参数中的参数无效
- 方法调用中的参数无效
- POSIX 计时器:参数无效
- C++类模板是一个模板:模板参数无效