| // Global functions | |
| int Func_arg_array(int array[]) { return 1; } | |
| void Func_arg_void(void) { return; } | |
| void Func_arg_none(void) { return; } | |
| void Func_varargs(...) { return; } | |
| // Class | |
| namespace MemberTest { | |
| class A { | |
| public: | |
| int Func(int a, ...) { return 1; } | |
| }; | |
| } | |
| // Template | |
| template <int N=1, class ...T> | |
| void TemplateFunc(T ...Arg) { | |
| return; | |
| } | |
| // namespace | |
| namespace { | |
| void Func(int a, const long b, volatile bool c, ...) { return; } | |
| } | |
| namespace NS { | |
| void Func(char a, int b) { | |
| return; | |
| } | |
| } | |
| // Static function | |
| static long StaticFunction(int a) | |
| { | |
| return 2; | |
| } | |
| // Inlined function | |
| inline void InlinedFunction(long a) { return; } | |
| extern void FunctionCall(); | |
| int main() { | |
| MemberTest::A v1; | |
| v1.Func('a',10); | |
| Func(1, 5, true, 10, 8); | |
| NS::Func('c', 2); | |
| TemplateFunc(10); | |
| TemplateFunc(10,11,88); | |
| StaticFunction(2); | |
| InlinedFunction(1); | |
| FunctionCall(); | |
| return 0; | |
| } |