#include <iostream>

template <typename ...Args> struct C
{
	static void foo() { int a[] = { (Args::m(), 0)... }; }
};

struct A { static void m() { std::cout << "M\n"; } };

int main()
{
	C<A, A, A>::foo();
}