【发布时间】:2011-02-01 02:10:36
【问题描述】:
在 C 中完成以下任务的最佳方法是什么?
#include <stdio.h>
struct A
{
int x;
};
struct A createA(int x)
{
struct A a;
a.x = x;
return a;
}
struct A a = createA(42);
int main(int argc, char** argv)
{
printf("%d\n", a.x);
return 0;
}
当我尝试编译以上代码时,编译器报如下错误:
“初始化元素不是常量”
坏线是这个:
struct A a = createA(42);
有人可以解释什么是错的吗?我在 C 方面不是很有经验。谢谢!
【问题讨论】:
标签: c struct constants initialization