| 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: 'a',10); |
| 47 | |
| 48 | Func(a: 1, b: 5, c: true, 10, 8); |
| 49 | NS::Func(a: 'c', b: 2); |
| 50 | |
| 51 | TemplateFunc(Arg: 10); |
| 52 | TemplateFunc(Arg: 10,Arg: 11,Arg: 88); |
| 53 | |
| 54 | StaticFunction(a: 2); |
| 55 | InlinedFunction(a: 1); |
| 56 | |
| 57 | FunctionCall(); |
| 58 | return 0; |
| 59 | } |
| 60 | |