#include <iostream>
using namespace std;

template<template<class, class...> class C, class T, class... OtherTs>
size_t A_helper_printSize(C<T, OtherTs...>&&) { return sizeof(T); }

template <class T>
struct A {
	void printSize() const { cout << A_helper_printSize(T{}); }
};

template <typename A>
struct X{
};

int main() {
	A<X<char>>{}.printSize();
	return 0;
}