2 qq 22650919 qq_22650919 于 2015.06.17 09:10 提问

C++关于结构体初始化的问题

#include
#include
using namespace std;
struct Person
{
string name;
int count;
};

int main()
{
Person leader[3]={{"li",0},{"zhang",0},{"fun",0}};

error C2440: 'initializing' : cannot convert from 'char [3]' to 'struct Person'

5个回答

ycg514230
ycg514230   Rxr 2015.06.17 10:06
已采纳

这个需要c++11才能支持,你的编译器是什么?

ycg514230
ycg514230 回复qq_22650919: Person leader[3]; leader[1].name ="xxxx";leader[1].count = 10; leader[2].name ="xxxx";leader[2].count = 10; ....
2 年多之前 回复
qq_22650919
qq_22650919 在低版本的编译器要怎么实现初始化
2 年多之前 回复
ycg514230
ycg514230 回复qq_22650919: 那应该不支持这种初始化方法,还是用原始的方式for循环初始化吧,或者改用高级的编译器。
2 年多之前 回复
qq_22650919
qq_22650919 VC 6.0
2 年多之前 回复
syr895809949
syr895809949   2015.06.17 09:49

图片说明
单纯的结构体初始化是没问题的。这段代码不完整吧,问题出在其他部分!

lx624909677
lx624909677   Ds   Rxr 2015.06.17 09:55

struct Person leader[3]={{"li",0},{"zhang",0},{"fun",0}};

frank_20080215
frank_20080215   2015.06.17 09:41

for(i = 0; i<3;i++)
{leader[i].name ="xxxx";leader[i].count = 10;}

oyljerry
oyljerry   Ds   Rxr 2015.06.17 12:36

C++11的新语法,Brance Initialize
http://www.informit.com/articles/article.aspx?p=1852519

Csdn user default icon
上传中...
上传图片
插入图片