1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#include <cstdarg> #include <cstdint> #include <cstdlib> #include <new> struct A; struct B; template<typename T> struct List { T *members; uintptr_t count; }; extern "C" { void bar(List<B> b); void foo(List<A> a); } // extern "C"