-5
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;
}
}
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;
}
}
該向量不是A
的實例。它沒有會員rollno
。因此,評論界線不健全。
而是,矢量是容納A
的實例序列的容器。在我看來,你想訪問矢量的第一個(也是唯一的)元素。從矢量文檔中可以看到,可以使用front
成員函數訪問第一個元素。
您需要訪問向量中的結構。
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;
}
}
你知道你可以讓你的代碼,即使少可讀可通過指數做到這一點你把**所有**放在一行中,沒有空格。 – StoryTeller
閱讀您最喜愛的書籍中的向量介紹。 – molbdnilo