繁体   English   中英

如何使用空值初始化结构的数据成员数组?

[英]how to initialize data member array of a struct with null values?

这是我的结构(在数据结构类的专用部分中):

 private:
 // this is the main node pointer array to keep
 // track of buckets and its chain.
    struct Node {

  /** member variables */
  unsigned int iCID;
  std::string sVoting_PN;
  std::string sTS[T_LITTRAL];
  unsigned int iCounter[12] = {0};


  /** constructor initializes */
  Node(unsigned int CID, std::string PN, std::string TS, unsigned int counter, unsigned int index ) {
    this->iCID = CID;
    this->sVoting_PN = PN;
    this->sTS[index] = TS;
    this->iCounter[CID] = iCounter[CID] + counter;
}

Node *next;
};
Node* nodeArray[TABLE_SIZE];

我想将iCounter数组的所有值初始化为0。我该怎么做?

我尝试了这个

  unsigned int iCounter[12] = {0};

但是它给了我警告,无论如何我都必须删除! 任何想法或帮助都非常感谢你们。 提前致谢。

相反,它起作用。 下一行是问题所在。

unsigned int iCounter[12] = {0};

经过大量的尝试,最终我得到了这种初始化工作的方式,并且没有任何警告和错误。 我将其添加到答案部分,以便其他有类似问题的人可以从中获得帮助。

struct Node {
Node(): iCID(0), sVoting_PN("") {

  for(unsigned int l=0;l<T_LITTRAL;l++){

    sTS[l]="";
    if(l<AMOUNT_OF_ARTISTS){
      iCounter[l]=0;
    }
  }

}

  //member variables 
  unsigned int iCID;
  std::string sVoting_PN;
  std::string sTS[T_LITTRAL];
  unsigned int iCounter[AMOUNT_OF_ARTISTS]; 

  Node *next;
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM