我有一個程序需要設置程序執行時的矢量類型(根據配置文件中的值)。在運行時設置矢量類型
我已經試過這樣:
int a = 1
if(a == 1) vector<int> test(6);
else vector<unsigned int> test(6);
test.push_back(3);
但是這給了我:
Error 1 error C2065: 'test' : undeclared identifier
我不完全知道爲什麼,但我認爲這是因爲矢量實際上不是在編譯的決定因此編譯器無法在編譯其餘代碼時使用它。
有沒有一種方法可以在運行時確定類似於我上面嘗試過的向量類型? 我試圖在if之外創建一個版本,然後刪除它並重新寫入IF中的新版本。但是,這感覺不對,我無法讓它工作。 謝謝。
謝謝。我明白你在說什麼。我將研究這一點,也許把我所有的代碼放在矢量類型的決策中,就像你所建議的模板化函數。 – Columbo 2009-09-15 09:50:30
這工作,採取了一些改變周圍埠,這是排序它。謝謝。 – Columbo 2009-09-15 11:03:17