我正在使用其他人爲計算化學反應而編寫的代碼。用戶必須爲計算指定很多值,這可能會導致錯誤。我試圖自動化/簡單地這個過程。爲什麼我不能通過執行「myVector [i] .data()」來實例化一個類,其中myVector [i] .data()是一個字符串?
我可以通過執行(例如)實例化一個類:
Algorithm<double> chlorine;
我想這樣做多個實例 - 例如,氯,氫和氧。我不明白爲什麼我得到一個分段錯誤,當我把「氯」,「氫」和「氧」作爲字符串稱爲向量元素「chemicalElements」,然後執行:
for (i = 0; i < chemicalElements.size(); i++)
{
Algorithm<double> chemicalElements[i].data();
}
上午我在這裏錯過簡單的東西?當我寫:
Algorithm<double> chlorine;
「氯」只是一個字符串,對不對?那麼爲什麼它不能在一個字符串矢量中添加「氯」元素?
請在C++上獲得一本教科書,並從簡單的事情開始。如果有更好更合適的資源用於學習,那麼在Stack OVerflow上詢問一門語言的基礎知識是沒有意義的。 –
我過去兩個星期試圖弄清楚這一點。我不常使用C++,因爲我是化學家。如果它非常簡單,那麼指出正確的方向會很棒。 – user616199
如果'chemicalElements [i] .data();'是一個字符串,那麼你就不能使用該字符串的內容作爲變量的名稱(在你的例子中,「chlorine」不是一個字符串,而是一個對象的名字類型'算法')。 –
sleepy42