C语言结构体数组在头文件里赋值的问题

图片说明
上面的赋值是写在一个头文件里的,用VS2008,或者VC++6.0调都会出现上面的错误,VS2013和DEV就不会报错。
完整代码是:
//头文件“信息.h”
struct students
{
long code;
char *name;
float score[3];
float sum;
};
void default_initiate(struct students stu[ ])
{
stu[0] = { 20140001, "陈龙", {50.0, 30.0, 89.0 }};
}

//main函数
int main( )
{
int a[2],c;
struct students class1[3];
default_initiate(class1);
return 0;
}
请问语法是哪里错了呢?一定要把给结构体数组赋初值放到main函数里面吗?
学生党一枚,请各位大大们帮忙!

3个回答

stu[0].code = 20140001;
stu[0].name = "xxx";
...

应该是C++ 11的语法,VS2010+才开始支持。

asurport
成想 那应该怎么修改呢??一定要放main函数里吗,想用函数的形式怎么应该怎么改才能在VS2008版本里用
接近 5 年之前 回复

这种写法只能在定义的时候用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问