Podemos ter uma estrutura anônima como argumento de modelo?
O título é bastante auto-explicativo, mas aqui está um exemplo simplificado:
#include <cstdio>
template <typename T>
struct MyTemplate {
T member;
void printMemberSize() {
printf("%i\n", sizeof(T));
}
};
int main() {
MyTemplate<struct { int a; int b; }> t; // <-- compiler doesn't like this
t.printMemberSize();
return 0;
}
O compilador reclama quando tento usar uma estrutura anônima como argumento de modelo. Qual é a melhor maneira de conseguir algo assim sem ter que ter uma definição separada de estrutura nomeada?