什么是“无法解析的外部符号” 一般是由什么原因引起的

MOCKINGT
浏览 1859回答 2
2回答

onemoo

一般由缺少相应的链接库引起。所谓“外部符号”就是值定义在本代码之外的那些符号。代码中有可能引用定义在别的代码中名字(别的变量、函数什么的),这样本代码中并没有它们的实际定义(如函数的实现就不在本代码中)。 代码在编译之后进行链接时,链接器需要知道这些名字真正定义在哪里。 比如:你自己写的函数的实现在含有该函数定义的代码中;使用的库函数的实现在编译环境提供的链接库中。总之,如果到时候缺少这些,链接器就会报这个错。也就无法成功链接。

MOCKINGT

class Edge { public:     Edge(int nodeindexA = 0,int nodeIndexB = 0,int value = 0);  // 全部初始化     int m_iNodeIndexA;     int m_iNodeIndexB;     int m_ivalue;     bool m_bSelected; }; Edge::Edge(int nodeIndexA = 0, int nodeIndexB = 0, int value = 0) {     m_iNodeIndexA = nodeIndexA;     m_iNodeIndexB = nodeIndexB;     m_ivalue = value;     m_bSelected = false; };
打开App,查看更多内容
随时随地看视频慕课网APP