→ kao50126: 可能有func名稱在兩個namespace都有? 06/06 01:19
※ 編輯: t78923t (163.25.118.211), 06/06/2015 01:23:06
你的意思是我兩個namespace下 有同時使用同一個變數造成重複定義namespace嗎?
如果是這樣的話 C++應該會幫我指出是哪一個變數或func吧?
但他是特別指出該行的'uint8': ambiguous symbol
這我不知道是什麼意思
※ 編輯: t78923t (163.25.118.211), 06/06/2015 01:30:22
→ kao50126: 剛剛有想到會不會是有header中重複定義typedef uint8? 06/06 01:33
→ kao50126: 這部分可能要用"uint8"當key word找看看 06/06 01:35
你是指用ctrl+F 搜尋每個有用到的header中的"uint8"嗎??
※ 編輯: t78923t (163.25.118.211), 06/06/2015 01:44:33
→ TobyH4cker: 大概是winsock.h 跟訊號擷取卡了 06/06 08:50
推 kwpn: 如果不include"InstantAI.h", 也不呼叫該函式, 也會衝突嗎? 06/06 22:04
若不include"InstantAI.h",單純只有Socket部分的主程式並不會有此error
→ Killercat: gcc -E..... 06/07 13:12
→ Killercat: 有時候不見得是namespace,而是萬惡的#define造成的 06/07 13:12
→ Killercat: 另外他的意思是說該行用uint8 可以匹配到一個以上的 06/07 13:13
→ Killercat: function 所以他搞不清楚該用哪一個的意思 06/07 13:13
→ Killercat: 很有可能是名字一樣簽名不同的兩個function 06/07 13:13
名字一樣簽名不同的意思是??
※ 編輯: t78923t (120.126.5.217), 06/07/2015 20:35:03
→ Killercat: 比方說一個void a(double) 一個void a(float) 06/08 00:36
→ Killercat: 你輸入個a(1)編譯器就會跳這種錯誤 06/08 00:37
→ Killercat: 因為他不知道要幫你用哪個好 06/08 00:37
→ LPH66: C2872 如原 PO 所發現的是 namespace 間的名字衝突 06/08 01:29
推 LPH66: 如果是 #define 間的衝突的話應該不會出現 C2872 06/08 01:36
→ LPH66: uint8 這名字看起來像是型別, 所以我猜可能有某個 macro 06/08 01:37
→ LPH66: 展開之後包含了用 #define 定義的型別名 uint8 造成衝突 06/08 01:37
→ LPH66: 原 PO 能方便放上 InstantAI.h 的內容嗎? 06/08 01:38
→ LPH66: 不能的話能否放上這檔案裡面有 uint8 這字的附近行數? 06/08 01:38
推 LPH66: 啊, 看到一個很大的問題了... 06/08 01:42
→ LPH66: 我回文解釋 06/08 01:43