| // Compile for x86 (FPO disabled) | |
| // Compile with "cl /c /Zi /GR- PrettyFuncDumperTest.cpp" | |
| // Link with "link PrettyFuncDumperTest.obj /debug /nodefaultlib /entry:main" | |
| typedef void (*FuncPtrA)(); | |
| FuncPtrA FuncVarA; | |
| typedef float (*FuncPtrB)(void); | |
| FuncPtrB FuncVarB; | |
| typedef int(*VariadicFuncPtrTypedef)(char, double, ...); | |
| VariadicFuncPtrTypedef VariadicFuncVar; | |
| void Func(int array[]) { return; } | |
| template <int N=1, class ...T> | |
| void TemplateFunc(T ...Arg) { | |
| return; | |
| } | |
| namespace { | |
| void Func(int& a, const double b, volatile bool c) { return; } | |
| } | |
| namespace NS { | |
| void Func(char a, int b, ...) { | |
| return; | |
| } | |
| } | |
| namespace MemberFuncsTest { | |
| class A { | |
| public: | |
| int FuncA() { return 1; } | |
| void FuncB(int a, ...) {} | |
| }; | |
| } | |
| int main() { | |
| MemberFuncsTest::A v1; | |
| v1.FuncA(); | |
| v1.FuncB(9, 10, 20); | |
| NS::Func('c', 2, 10, 100); | |
| TemplateFunc(10); | |
| TemplateFunc(10, 11, 88); | |
| return 0; | |
| } |