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