亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

C++
MOCKINGT 2017-10-05 14:10:41
查看完整描述

2 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

一般由缺少相應的鏈接庫引起。

所謂“外部符號”就是值定義在本代碼之外的那些符號。代碼中有可能引用定義在別的代碼中名字(別的變量、函數什么的),這樣本代碼中并沒有它們的實際定義(如函數的實現就不在本代碼中)。?

代碼在編譯之后進行鏈接時,鏈接器需要知道這些名字真正定義在哪里。 比如:你自己寫的函數的實現在含有該函數定義的代碼中;使用的庫函數的實現在編譯環境提供的鏈接庫中。

總之,如果到時候缺少這些,鏈接器就會報這個錯。也就無法成功鏈接。

查看完整回答
1 反對 回復 2017-10-05
  • MOCKINGT
    MOCKINGT
    可以詢問一下這個是因為什么引起的嗎,default constructor closure是析構函數嗎?
  • onemoo
    onemoo
    這是默認構造函數
?
MOCKINGT

TA貢獻1條經驗 獲得超0個贊


http://img1.sycdn.imooc.com//59d5db7200013b5810800051.jpg

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;
};


查看完整回答
反對 回復 2017-10-05
  • onemoo
    onemoo
    把Edge::Edge函數定義中參數的默認值去掉,一般參數默認值只寫在函數聲明中。
  • 2 回答
  • 0 關注
  • 1918 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號