initializer element is not constant 问题

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;
}

 

参考链接:

initializer element is not constant 问题

posted on 2021-07-15 12:27  iBoundary  阅读(3437)  评论(0编辑  收藏  举报

导航