Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果定义了结构类型的向量,如何检查结构的成员是否为空? struct A{int rollno;int emplyno;}; int main() { 向量obj; 对象推回({10112}); if(obj.rollno==0)//错误 { cout_C++_C++11 - Fatal编程技术网

C++ 如果定义了结构类型的向量,如何检查结构的成员是否为空? struct A{int rollno;int emplyno;}; int main() { 向量obj; 对象推回({10112}); if(obj.rollno==0)//错误 { cout

C++ 如果定义了结构类型的向量,如何检查结构的成员是否为空? struct A{int rollno;int emplyno;}; int main() { 向量obj; 对象推回({10112}); if(obj.rollno==0)//错误 { cout,c++,c++11,C++,C++11,向量不是A的实例。它没有成员rollno。因此带有注释的行格式不正确 相反,vector是一个容器,其中包含a的一系列实例。在我看来,您似乎希望访问第一个(并且是唯一的一个)向量的元素。从向量的文档中可以看到,您可以使用front成员函数访问第一个元素。您需要访问向量中的结构。您可以通过索引执行此操作: struct A { int rollno; int emplyno; }; int main() { vector<A> obj; obj.push_back({1

向量不是
A
的实例。它没有成员
rollno
。因此带有注释的行格式不正确


相反,vector是一个容器,其中包含
a
的一系列实例。在我看来,您似乎希望访问第一个(并且是唯一的一个)向量的元素。从向量的文档中可以看到,您可以使用
front
成员函数访问第一个元素。

您需要访问向量中的结构。您可以通过索引执行此操作:

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;
   }
}

你知道,如果你把所有内容都放在一行中,没有空格,你的代码的可读性会更差。
if ((obj.size() > 0) && (obj[0].rollno == 0))
{
    std::cout  << "rollno is empty" << std::endl;
}
for (const A &a : obj)
{
    if (a.rollno == 0)
    {
        std::cout << "Employee '" << a.emplyno << "' has an empty rollno" << std::endl;
    }
}