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