Usando o operador sizeof em uma estrutura typedef-ed

Isso pode ser algo muito óbvio. No entanto, não consegui encontrar a resposta específica, embora muitos threads de stackoverflow falem sobre aspectos diferentes disso.

typedef struct _tmp {
   unsigned int a;
   unsigned int b;
} tmp;

int main()
{
    int c=10;
    if (c <= sizeof tmp) {
       printf("less\n");
    } else {
       printf("more\n");
    }
    return 0;
}

Eu compilo este prog como -

g++ -lstdc++ a.cpp

Eu recebo um erro -

expected primary-expression before ‘)’ token

Acho que estou sentindo falta de algo muito óbvio e direto. Mas não consigo identificá-lo: - /

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion