结构中的按引用向量
vector by reference in a struct?
我想创建一个包含双精度和字符串向量的结构。我试过这个
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;
这不是填充我的向量,因为它不是通过我想的结构中的引用?
但是当我将结构中的向量定义为:
vector<string>& items;
我收到一个错误,说:
错误:具有未初始化引用成员的结构"列表"。
我该如何解决这个问题?
谢谢你的帮助!
你的代码工作得很好。
第一次读取有一个小问题:如果输入文件中的价格值之后有一个换行符,则该换行符将保持未读状态。在这种情况下,对 getline
的第一次调用将读取一个空字符串,这意味着 items
数组中的名字将最终为空。
相关文章:
- 创建引用向量的优雅方式
- C++重新引用向量中的值
- 取消引用向量时出现问题
- 从类返回引用向量
- 引用向量中的特定索引
- 如何取消引用向量迭代器
- 对唯一 ptr 无效读取的引用向量
- 在引用向量时使用访问器进行迭代C++
- 对模板函数的引用向量
- 必须调用对非静态成员函数的引用(向量)
- 常量引用向量向量<向量<long>>赋值不编译
- 结构中的按引用向量
- C++的新手,程序在取消引用向量的一部分时没有响应
- C++:试图通过引用向量来理解传递
- C++ 按引用向量
- c++ 函数,将数据返回到引用向量
- 调用"new"以存储到shared_ptr的引用向量中
- C++逗号运算符重载和引用向量
- 构造函数中的引用向量:未初始化的引用
- 在c++中自动引用向量