struct A { int rollno; int emplyno; };
int main()
{
vector<A> obj;
obj.push_back({10,112});
if (obj.rollno == 0) // error
{
cout << "rollno is empty"<<endl;
}
}
答案 0 :(得分:1)
您需要访问向量中的结构。您可以通过索引执行此操作:
if ((obj.size() > 0) && (obj[0].rollno == 0))
{
std::cout << "rollno is empty" << std::endl;
}
如果需要检查向量中的A
的所有实例,可以使用循环:
for (const A &a : obj)
{
if (a.rollno == 0)
{
std::cout << "Employee '" << a.emplyno << "' has an empty rollno" << std::endl;
}
}
答案 1 :(得分:0)
向量不是A
的实例。它没有成员rollno
。因此,评论的界限不合适。
相反,向量是一个容器,它包含A
的一系列实例。在我看来,你希望访问向量的第一个(也是唯一的)元素。从vector的文档中可以看出,您可以使用front
成员函数访问第一个元素。