1 2 // Global functions 3 int Func_arg_array(int array[]) { return 1; } 4 void Func_arg_void(void) { return; } 5 void Func_arg_none(void) { return; } 6 void Func_varargs(...) { return; } 7 8 // Class 9 namespace MemberTest { 10 class A { 11 public: 12 int Func(int a, ...) { return 1; } 13 }; 14 } 15 16 // Template 17 template <int N=1, class ...T> 18 void TemplateFunc(T ...Arg) { 19 return; 20 } 21 22 // namespace 23 namespace { 24 void Func(int a, const long b, volatile bool c, ...) { return; } 25 } 26 27 namespace NS { 28 void Func(char a, int b) { 29 return; 30 } 31 } 32 33 // Static function 34 static long StaticFunction(int a) 35 { 36 return 2; 37 } 38 39 // Inlined function 40 inline void InlinedFunction(long a) { return; } 41 42 extern void FunctionCall(); 43 44 int main() { 45 MemberTest::A v1; 46 v1.Func('a',10); 47 48 Func(1, 5, true, 10, 8); 49 NS::Func('c', 2); 50 51 TemplateFunc(10); 52 TemplateFunc(10,11,88); 53 54 StaticFunction(2); 55 InlinedFunction(1); 56 57 FunctionCall(); 58 return 0; 59 } 60