Название довольно понятно, но здесь упрощенный пример:
#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;
}
Компилятор жалуется, когда я пытаюсь использовать анонимную структуру в качестве аргумента шаблона. Какой лучший способ добиться чего-то подобного без необходимости иметь отдельное определение с именем struct?