Microsoft C Compiler: Inline variable declaration?
- by Rosarch
I'm writing C in Visual Studio 2010. The compiler doesn't seem to want to let me use inline variable declarations. The following code produces an error:
unsigned int fibonacci_iterative(unsigned int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
unsigned int prev_prev = 0; // error
unsigned int prev = 1; // error
unsigned int next = 0; // error
for (int term_number = 0; term_number < n; term_number++) {
unsigned int temp = prev_prev + prev;
prev = next;
prev_prev = prev;
next = temp;
}
return next;
}
Error:
error C2143: syntax error : missing
';' before 'type'
error C2143: syntax error : missing
';' before 'type'
error C2143: syntax error : missing
';' before 'type'
Why is this happening? Is there a setting to make the compiler not so strict?