使用gcc编译以下代码.
代码:
#include <stdio.h>
const int i = 10;
const int n = i+1;
int main() {
printf("%i\n", i);
printf("%i\n", n);
}
Run Code Online (Sandbox Code Playgroud)
错误:
我收到如下编译错误
test.c:3:5: error: initializer element is not constant
const int n = i+1;
^
Run Code Online (Sandbox Code Playgroud)
用g ++编译工作得很好并打印10和11.
我使用gcc 4.9.2
static变量需要用常量初始化。
C++ 编译器会编译它,因为在 C++ 中const限定变量是常量。在 C 中,const限定变量不是常量,C 编译器将引发错误。
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |