1. 解释“initializer element is not constant”错误的含义 “initializer element is not constant”这个错误通常出现在C或C++编程中,特别是在使用全局变量、静态变量或枚举类型的初始化时。这个错误表明在初始化过程中,使用了非常量表达式或变量作为初始值,而按照C/C++的标准,这些类型的变量必须在编译时就能确定其值...
原因: 全局变量c的值不能在编译时确定,要在执行是确定(编译原理。。) 解决办法: [cpp] view plaincopy #include int a = 1; int b = 2; int c; //只声明 int main() { c = a + b; //在main函数里赋值 printf("c is %d\n", c); return 0; } ...
上面的代码会报initializer element is not constant 错误,错误原因是: C语言初始化一个全局变量或static变量时,只能用常量赋值,不能用变量赋值!(错误就在void* v_p = p_a) 解决办法如下:定义成局部变量就OK了。 #include <stdio.h>inta =1314;int* p_a = &a;intmain(void) {void* v_p =p_a;retu...
原因: 全局变量c的值不能在编译时确定,要在执行是确定(编译原理。。)解决办法:[cpp] view plaincopy include <stdio.h> int a = 1;int b = 2;int c; //只声明 int main() { c = a + b; //在main函数里赋值 printf("c is %d\n", c);return 0;} ...
出现“initializer element is not constant”错误 原因: 全局变量c的值不能在编译时确定,要在执行是确定(编译原理。。)解决办法:[cpp] view plaincopy include <stdio.h> int a = 1;int b = 2;int c; //只声明 int main() { c = a + b; //在main函数里赋值 printf("c is %d\...
1text.c:4: error: initializer elementisnot constant 其中原因在于:C语言初始化一个全局变量或static变量时,只能用常量赋值,不能用变量赋值!上面的代码第3行的i是个变量,于是第4行出错。这里注意,即使第3行用const int a = 100,编译器也视a为变量。
initializer element is not constant 问题 #include <stdio.h> int a = 1314; int* p_a = &a; void* v_p = p_a; int main(void) { return 0; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 上面的代码会报initializer element is not constant 错误,错误原因是: ...
C语言出现initializerelementisnotconstant错误的原因 C语⾔出现initializerelementisnotconstant错误的原因 当在全局变量定义⼀个指针变量,并动态分配内存后,发现竟然编译不过去,并提⽰ ""initializer element is not constant"":char *buf = malloc(1024);int main() { return 0;};后来知道了,不能将全局...
initializer element is not constant 初始化元素不是常数
以下两段代码,如果命名为 *.c 文件,在GCC下编译,都会报错,错误信息是“initializer element is not constant ”。 但是如果把 *.c 文件改名为 *.cc文件,用g++编译,就不会报错。 谁能详细解释一下这是为什么。 // code 1 inti=10; intj=i+4; ...