0

这是我的结构(它在数据结构类的私有部分):

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

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

4

1 回答 1

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;
};
于 2012-11-04T21:34:17.860 回答