我有一个由Node *列表组成的类List,私有字段也包含Node结构: struct Node { int值; 节点*下一个; };
我正在开发一个带参数的友元函数(const List& a,const List& b)
当我开发代码因为Lists是常量时我创建了临时变量:
Node* q=a.list;
Node* r=b.list;
但编译器说Node未在此范围内声明
那么q
也没有在范围内声明(对于r来说同样的事情)不明白这是怎么回事?
答案 0 :(得分:0)
您可能需要发布更多代码才能获得良好的答案。 就目前而言,错误意味着编译器没有在该行可用的范围中看到“节点”类型。 Node是子类型吗?如果是这样,请尝试List :: Node? p>
btw,如果通过const List& a,你需要你的Node *也是const。
(通过更多代码,我的意思是相关的结构/类声明,也许是一些文件结构信息,更多的调用代码不会有多大帮助)