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; }
上面的代码会报initializer element is not constant 错误,错误原因是:
C语言初始化一个全局变量或static变量时,只能用常量赋值,不能用变量赋值!(错误就在void* v_p = p_a)
解决办法如下:定义成局部变量就OK了。
#include <stdio.h> int a = 1314; int* p_a = &a; int main(void) { void* v_p = p_a; return 0; }
参考链接: