Я считаю, что этот код:
#include <stdio.h>
struct foo {
char array[1024];
};
int main() {
fprintf(stderr, "sizeof(foo::array): %zd\n", sizeof(foo::array));
}
Действителен С++. g++ компилирует его просто отлично с -ansi -pedantic. Однако компиляция с Intel icc 12.1.3 я получаю:
error #288: a nonstatic member reference must be relative to a specific object
Является ли это своей ошибкой или я не делаю неправильную вещь: спецификация С++?