【发布时间】:2020-09-29 01:20:13
【问题描述】:
我的问题是我试图声明对象节点,声明对象节点的向量并使用同一类的方法检查该向量,我的编译器(Visual Studio 2019)给我“错误:无法打开文件 main.obj。错误代码 = 0x80070002"。
有什么建议可以让它像我描述的那样工作吗?
这是我的代码:
class Node {
public:
int Node_x, Node_y;
Node(int x,int y){
Node_x = x;
Node_y = y;
}
bool is_Checked(Node point(int x, int y));
};
vector <Node> visited_Nodes;
vector <Node> wall_Nodes;
std::vector<Node>::iterator it = visited_Nodes.begin();
bool Node::is_Checked(Node point(int x,int y)) {
it = std::find(visited_Nodes.begin(), visited_Nodes.end(), point(Node_x, Node_y));
if (it != visited_Nodes.end()) {
return true;
}
else {
visited_Nodes.push_back(point(Node_x, Node_y));
return false;
}
}
【问题讨论】:
-
bool is_Checked(Node point(int x, int y));应该是什么?这不是 C++ 的工作原理。 -
bool is_Checked(节点点(int x, int y));应该检查对象(Node)是否在节点向量(visited_nodes)中,如果不是,则将节点添加到访问节点
-
不幸的是,世界上每个操作系统中使用的每个编译器都使用完全相同的错误代码和消息是不正确的。因此,在寻求有关编译错误的帮助时,将整个编译器错误消息逐字复制/粘贴为文本会很有帮助。这样,即使不使用与您完全相同的编译器的人也可以帮助您理解错误消息的含义。
-
bool Node::is_Checked(Node point(int x,int y))-->bool Node::is_Checked(Node point). -
谢谢 Sam Varshavchik 我重新编辑问题