C++ 不兼容转换字符

C++ 不兼容转换字符,c++,char,C++,Char,我的代码有一个小问题,因为未知的原因,编译器会弹出两个错误,使我无法编译下面的代码。我收到的通知是: 多字符字符常量[-Wmultichar] 将'int'赋值给char[4]时不兼容的类型 这很奇怪,因为我给char变量赋值。我做错了什么 #include <iostream> using namespace std; class People { public: int age; char name[4];

我的代码有一个小问题,因为未知的原因,编译器会弹出两个错误,使我无法编译下面的代码。我收到的通知是:

多字符字符常量[-Wmultichar]

将'int'赋值给char[4]时不兼容的类型

这很奇怪,因为我给char变量赋值。我做错了什么

 #include <iostream> 
 using namespace std; 

 class People 
 { 
    public: 
           int age; 
           char name[4]; 
 }; 

 int main() 
 {
    People arrayP[5] = {{"Paul", 29}, {"Sue", 31}, 
                        {"Jack", 22}, {"Nil", 32}}; 

    arraP[4].name = 'Ope'; 

    for(int i=0; i<5; i++) 
    { 
        cout <<"Name: " << arrayP.name[i] << ", " << arrayP.age[i]<<endl
    }
 return 0;
 }  
#包括
使用名称空间std;
阶级人士
{ 
公众:
智力年龄;
字符名[4];
}; 
int main()
{
人民法庭[5]={{“保罗”,29},{“苏”,31},
{“杰克”,22},{“无”,32};
arraP[4]。名称='Ope';
对于(int i=0;i您有两个错误:

  • 如果使用,则必须遵循类定义的相同布局。因此
    {“Paul”,29}
    不正确,而
    {29,“Paul”}
    不正确

  • <> >代码> char name(4)< />代码太短,不能包含<代码>保罗(<)>代码>,因为没有NUL终结符的空间。因为您在C++中工作,只使用<强> >代码> STD::String < /代码>,没有任何借口。/P>< LI>
      您有两个错误:

      • 如果使用,则必须遵循类定义的相同布局。因此
        {“Paul”,29}
        不正确,而
        {29,“Paul”}
        不正确

      • <> >代码> char name(4)< />代码太短,不能包含<代码>保罗(<)>代码>,因为没有NUL终结符的空间。因为您在C++中工作,只使用<强> >代码> STD::String < /代码>,没有任何借口。/P>< LI>
          您有两个错误:

          • 如果使用,则必须遵循类定义的相同布局。因此
            {“Paul”,29}
            不正确,而
            {29,“Paul”}
            不正确

          • <> >代码> char name(4)< />代码太短,不能包含<代码>保罗(<)>代码>,因为没有NUL终结符的空间。因为您在C++中工作,只使用<强> >代码> STD::String < /代码>,没有任何借口。/P>< LI>
              您有两个错误:

              • 如果使用,则必须遵循类定义的相同布局。因此
                {“Paul”,29}
                不正确,而
                {29,“Paul”}
                不正确

              • <> >代码> char name(4)< />代码太短,不能包含<代码>保罗(<)>代码>,因为没有NUL终结符的空间。因为您在C++中工作,只使用<强> >代码> STD::String < /代码>,没有任何借口。/P>< LI>
              这远远不是这里的严重问题。您不能这样分配字符数组(C样式字符串)。您应该使用
              std::string
              (或者使用C字符串函数,例如
              strcpy
              )。此外,
              [i]
              应该在
              arrayP
              旁边,而不是在成员变量之后。这远远不是这里的严重问题。您不能这样分配给字符数组(C样式字符串)。您应该使用
              std::string
              (或者使用C字符串函数,例如
              strcpy
              )。此外,
              [i]
              应该在
              arrayP
              旁边,而不是在成员变量之后。这远远不是这里的严重问题。您不能这样分配给字符数组(C样式字符串)。您应该使用
              std::string
              (或者使用C字符串函数,例如
              strcpy
              )。此外,
              [i]
              应该在
              arrayP
              旁边,而不是在成员变量之后。这远远不是这里的严重问题。您不能这样分配给字符数组(C样式字符串)。您应该使用
              std::string
              (或者使用C字符串函数,例如
              strcpy
              )。此外,
              [i]
              应位于
              arrayP
              旁边,而不是在成员变量之后。