0
我想創建一個包含雙精度型和字符串矢量的結構體。我試過這個矢量通過引用結構?
int main()
{
struct List
{
double price;
vector<string> items;
};
List list;
ifstream infile ("Aap.txt");
double p;
infile>>p;
list.price=p;
cout<<list.price<<endl;
int i=0;
string name;
getline(infile,name);
while(infile)
{
list.items.push_back(name);
cout<<list.items[i]<<endl;
i++;
getline(infile,name);
}
infile.close();
if (!infile)
{
cout<<"File closed."<<endl;
}
return 0;
這不是填充我的向量,因爲它不是通過引用結構,我想?
但是,當我在struct定義矢量爲:
vector<string>& items;
我得到一個錯誤說:
錯誤:結構'名單」未初始化引用成員。
我該如何解決這個問題?
謝謝你的幫忙!
「不填充我的矢量」是什麼意思?就「vector」而言,你的代碼看起來很好。不需要任何參考。 – AnT
這意味着代碼'couts'是文件的兩倍,但不是項目的列表... – Lola
我只是用一個快速的人工輸入文件嘗試了你的代碼,它工作正常。你的輸入文件是什麼樣的?它是否在您的實驗中讀取和打印價格值? – AnT