预期在“&”令牌之前的主要表达式

时间:2018-11-11 22:12:22

标签: c++ oop object compilation set

我收到此错误,这使我难以继续编码,因为我尝试并尝试解决该错误,并且无法理解错误的含义(我在Stackoverflow中研究了类似的问题)。

我不明白为什么,如果我将一组Node对象声明为一种数据类型,则会出现以下错误,代码:

point p(p.get_x(),p.get_y());


Node a(p,0); 

set<Node&> visited_nodes;

错误:

error: expected primary-expression before ‘&’ token
         set<Node&> visited_nodes;
                 ^
error: expected primary-expression before ‘>’ token
         set<Node&> visited_nodes;

谢谢

1 个答案:

答案 0 :(得分:1)

您不能在容器中存储引用。您应该存储指针或对象。

编辑: 聊天会话后,我们找到了原因。 由于using namespace std;,他的名字出现冲突。

所以我提议:

std::set<Node> visited_nodes;

错误消失了。