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 に答える