2012-10-17 33 views
-1

你好,這是我第一次使用STL映射,我想知道如何添加一個新的條目到地圖。C++添加條目到一個字符串和一個Class實例作爲指針的STL映射

這裏是我的代碼:

map<string, Account *> accounts; 
string key = "blah"; 

accounts[key] = Acc; 

error: expected primary-expression before ‘;’ token 

我應該要使用.insert()這樣的功能或者是這種方法一樣嗎?

+0

問題是'ACC *;'一個錯字? – juanchopanza

+0

@juanchopanza對不起 –

+0

那麼'Acc'是在哪裏申報和初始化的? – juanchopanza

回答

0

在Acc後,*確實沒有任何需要。編譯器已經知道它是一個指針,因爲你將它聲明爲一個指針。

map<string, Account *> accounts; 
Account* Acc = ...; 
string key = "blah"; 
accounts[key] = Acc; // Fine 
+0

謝謝你的答案,我實現了代碼,但我仍然有以下錯誤。 task3main.cpp:73:錯誤:初始化表達式列表被看作複合表達 task3main.cpp:73:錯誤:在初始化 這行帳戶不能轉換 '雙' 到 '帳戶*' * ACC(BSBt,accountt ,namet,addresst,phonet,openDatet,balancet); –

+0

關於如何解決這個問題的任何想法? –

+0

我想你應該顯示「帳戶」的確切內容 – TWE

0

我解決了以下

Account* Acc; 
Acc = new Account(args); 
相關問題