2014-09-03 50 views
0

我有一個字符串,並且想要動態使用它作爲結構名稱。來自字符串的動態結構名稱

struct employee{ 

atributes .... 
} 

string name; 
cin >>name; 


employee "name" 

and then use the named employee ! 

不起作用

employee &name = new employee(); 

不起作用

+1

您從哪裏找到語法'employee&name = new employee();'? C++不是一種語言,你可以寫出第一個想到的東西(甚至從另一種語言改編而來)並期望它能夠工作。最好的行動方式不是有人告訴你確切的語法,而是從一本好的介紹性書籍中學習。 – 2014-09-03 11:12:13

+0

你不能那樣做。也許你應該解釋你正在試圖解決什麼問題,導致你提出這個建議的解決方案。 – molbdnilo 2014-09-03 11:33:05

+0

C++不是JavaScript。一個是靜態的,另一個是動態的,你剛剛加入了其中的一個核心區別:) – Drax 2014-09-03 12:56:45

回答

4

實際上,您不能將運行時字符串值用作變量名稱。您可以使用map通過字符串或其他鍵類型爲對象索引:

#include <map> 

std::map<std::string, employee> employees; 

employees[name] = employee(); 
+0

@NielsKeurentjes呃什麼?!? – 2014-09-03 11:14:44

+0

呃我的不好,看得太快。對不起:)在寫答案時不應該拿起電話...... – 2014-09-03 11:16:44

相關問題