Biên dịch mã sau bằng gcc.Tại sao không thể trong C để khởi tạo một hằng số với hằng số khác?
Code:
#include <stdio.h>
const int i = 10;
const int n = i+1;
int main() {
printf("%i\n", i);
printf("%i\n", n);
}
Lỗi:
tôi nhận được một lỗi biên dịch như dưới đây
test.c:3:5: error: initializer element is not constant
const int n = i+1;
^
Biên soạn với g ++ làm việc tốt và in 10 và 11.
Tôi đã sử dụng gcc 4.9.2
Có thể thấy câu trả lời này: http://stackoverflow.com/a/3025106/4384927 – Chostakovitch