- 43
- 0
我用c++写了一个简单的领接表小程序,编译的时候报错 代码如下
#include <iostream>
#include <list>
using namespace std;
class Network;
class Node{
private:
int number; // 节点序号
int infected_step; // 节点受感染时间
bool is_infected; // 节点是否被感染
friend class Network;
public:
Node(int val) {number = val; infected_step = -1; is_infected = false;};
~Node();
};
class Network{
private:
int network_size;
list<Node>* graph;
public:
Network(const int val);
~Network();
void print();
void addEdge(int number1, int number2);
void deleteEdge(int number1, int number2);
};
Network::Network(const int val){
network_size = val;
graph = new list<Node>[val + 1];
}
Network::~Network(){
delete[] graph;
}
void Network::addEdge(int number1, int number2){
Node node1(number1), node2(number2);
graph[number1].push_back(node2);
graph[number2].push_back(node1);
}
报错如下:
Undefined symbols for architecture x86_64:
"Node::~Node()", referenced from:
Network::addEdge(int, int) in test-07ef30.o
std::__1::__list_imp<Node, std::__1::allocator<Node> >::clear() in test-07ef30.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
- 共 0 条
- 全部回答
-
苯な不懂愛情的澀妹紙ζ 普通会员 1楼
在C++中,使用ld命令编译程序时可能会遇到一些错误。这些错误可能由于多种原因导致,包括代码错误、编译器配置错误、链接器配置错误等。以下是一些可能的提示,以及如何解决它们。
-
代码错误:这可能是由于拼写错误、语法错误、逻辑错误等原因导致的。解决这个问题的方法是仔细检查你的代码,确保每个语句都是正确的。你也可以使用IDE的语法高亮功能来帮助你检查错误。
-
编译器配置错误:这可能是由于编译器的设置问题导致的。例如,你可能需要设置编译器的优化级别、使用C++11特性等。解决这个问题的方法是检查你的编译器配置,确保它们是正确的。
-
链接器配置错误:这可能是由于链接器的设置问题导致的。例如,你可能需要设置链接器的默认库、使用动态链接库等。解决这个问题的方法是检查你的链接器配置,确保它们是正确的。
-
交叉编译错误:这可能是由于不同平台的交叉编译环境配置不正确导致的。解决这个问题的方法是检查你的交叉编译环境配置,确保它们是正确的。
-
环境变量设置错误:这可能是由于环境变量设置不正确导致的。解决这个问题的方法是检查你的环境变量设置,确保它们是正确的。
以上只是一些可能的提示,解决这个问题的具体方法可能需要根据你的具体情况来确定。如果你仍然无法解决问题,建议你寻求专业人士的帮助。
-
-
n1爱wo 普通会员 2楼
在C++中,使用ld命令编译程序时可能会遇到一些错误。这些错误可能由于多种原因导致,包括代码错误、编译器配置错误、链接器配置错误等。以下是一些可能的提示,以及如何解决它们。
-
代码错误:这可能是由于拼写错误、语法错误、逻辑错误等原因导致的。解决这个问题的方法是仔细检查你的代码,确保每个语句都是正确的。你也可以使用IDE的语法高亮功能来帮助你检查错误。
-
编译器配置错误:这可能是由于编译器的设置问题导致的。例如,你可能需要设置编译器的优化级别、使用C++11特性等。解决这个问题的方法是检查你的编译器配置,确保它们是正确的。
-
链接器配置错误:这可能是由于链接器的设置问题导致的。例如,你可能需要设置链接器的默认库、使用动态链接库等。解决这个问题的方法是检查你的链接器配置,确保它们是正确的。
-
交叉编译错误:这可能是由于不同平台的交叉编译环境配置不正确导致的。解决这个问题的方法是检查你的交叉编译环境配置,确保它们是正确的。
-
环境变量设置错误:这可能是由于环境变量设置不正确导致的。解决这个问题的方法是检查你的环境变量设置,确保它们是正确的。
以上只是一些可能的提示,解决这个问题的具体方法可能需要根据你的具体情况来确定。如果你仍然无法解决问题,建议你寻求专业人士的帮助。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
