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

C++ 如何使用空值初始化结构的数据成员数组?,c++,constructor,c++11,initialization,data-members,C++,Constructor,C++11,Initialization,Data Members,这是我的结构(它位于数据结构类的私有部分): 我想将iCounter数组的所有值初始化为0。我该怎么做 我试过这个 unsigned int iCounter[12] = {0}; 但它给了我一个警告,我无论如何都得搬走!非常感谢你们的任何想法或帮助。提前谢谢。事情正好相反。下面这句话就是问题所在 unsigned int iCounter[12] = {0}; 经过许多不同的尝试,最终我得到了这种初始化方法,它可以在没有任何警告和错误的情况下正常工作。我将此添加到答案部分,以便其他有类

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

我想将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;
};
struct节点{
Node():iCID(0),sVoting_PN(“”){

对于(未签名的int l=0;对于(未签名的int l=0;l你得到了什么特别的警告?你得到了什么警告?我没有得到(假设这就是你实际放置<代码>={00}{{0}
)的地方(假设你实际放置代码的地方(假设那里是你实际放置代码的地方)的地方(假设那里是你实际放置代码的地方,假设那里是你实际放置了<代码的地方)的代码的地方)的地方。)@Xeo@Xeo,这里的警告是,这里,这里的警告是,这里的警告是,这里的警告是,这里的这些是,这些警告是,这些是,这些警告是,这些是,这些是,这些是,这些是,在这些是,这些是,这些是,这些是来自来自的的是,是来自来自来自的的的的的是,是,是来自来自来自的的的的是,是来自来自来自来自的的的的的是,是,是,他们是,在在在的的的警告:非静态数据成员初始值设定项仅可与-std=c++11或-std=gnu++11一起使用[默认启用]警告:扩展初始值设定项列表仅适用于-std=c++11或-std=gnu++11[默认启用]好吧,你为什么不在编译代码时包含…
-std=c++11
呢?我不知道如何包含'-std=c++11'。请你建议我。顺便说一下,我正在我的大学编译器中编译它。好的,你到底是如何编译你的代码的?如果你使用命令行,并且假设你使用的是GCC/g++,
g++-std=c++11你的文件es.cpp和其他标志
。对于其他任何内容,信息太少,无法说明(例如,您所在大学的编译器/IDE是什么)。
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;
};