2011-03-17 53 views
-1

(更新了代碼詳細信息)標量初始化程序中的過量元素

我很喜歡C++ STL的東西。

編譯器(GCC LLVM 4.2)升級之後,我越來越:

error: Semantic Issue: Excess elements in scalar initializer 

上的呼叫:

Certificate *tempcert; 
certMap cm; 

cm.insert(cValType(tempcert->id, tempcert)); 

用一個typedef:

typedef std::map< string, certificate* > certMap; 
typedef std::map< string, certificate* >::value_type cValType; 

我我不確定這個錯誤告訴我什麼或如何解決它。 (好吧,我意識到它告訴我多餘的元素,但它看起來像它匹配地圖原型給我,所以我很困惑。)

建議?

+0

你使用什麼編譯器? – JHSaunders 2011-03-17 00:10:56

+0

您的錯誤與您的代碼不符。 'cValType(tempPerson-> name,tempcert)'創建一個類型爲'std :: pair '的臨時變量,然後再次破壞它 - 既沒有標量也沒有初始化參數。 – Erik 2011-03-17 00:15:08

+0

更新了更多的代碼細節 – wadesworld 2011-03-21 01:48:04

回答

0

似乎解決此問題的混亂,通過車錯誤消息在Xcode 4.

引起更換一個共享庫產生的錯誤(這是有問題的錯誤下文)後,錯誤走了。