1
2 // Global functions
Func_arg_array(int array[])3 int Func_arg_array(int array[]) { return 1; }
Func_arg_void(void)4 void Func_arg_void(void) { return; }
Func_arg_none(void)5 void Func_arg_none(void) { return; }
Func_varargs(...)6 void Func_varargs(...) { return; }
7
8 // Class
9 namespace MemberTest {
10 class A {
11 public:
Func(int a,...)12 int Func(int a, ...) { return 1; }
13 };
14 }
15
16 // Template
17 template <int N=1, class ...T>
TemplateFunc(T...Arg)18 void TemplateFunc(T ...Arg) {
19 return;
20 }
21
22 // namespace
23 namespace {
Func(int a,const long b,volatile bool c,...)24 void Func(int a, const long b, volatile bool c, ...) { return; }
25 }
26
27 namespace NS {
Func(char a,int b)28 void Func(char a, int b) {
29 return;
30 }
31 }
32
33 // Static function
StaticFunction(int a)34 static long StaticFunction(int a)
35 {
36 return 2;
37 }
38
39 // Inlined function
InlinedFunction(long a)40 inline void InlinedFunction(long a) { return; }
41
42 extern void FunctionCall();
43
main()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