views:

95

answers:

1

Code:

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>

int main() {
    typeof(5);
    return 0;
}

Version of gcc is 4.3.3, command line is "gcc.exe -std=c99 1.c -o 1.exe". What is the cause of this problem?

+2  A: 

By passing the option -std=c99 to GCC you've asked it to compile according to the C99 standard, which doesn't support the typeof keyword.

You may want to use -std=gnu99 instead.

Michael Burr
Or use the alternate keyword `__typeof__`, which works regardless of standards compliance mode.
ephemient