online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> class MyClass { public: void memberFunction1(int param) { std::cout << "Member function 1, parameter " << param << "\n"; } void memberFunction2(int param) { std::cout << "Member function 2, parameter " << param << "\n"; } void print(bool whichOne) { void (MyClass::*memberFunctionToCall)(int); if (whichOne) { memberFunctionToCall = &MyClass::memberFunction1; } else { memberFunctionToCall = &MyClass::memberFunction2; } (this->*memberFunctionToCall)(42); } void printEasier(bool whichOne) { void (*memberFunctionToCall)(int); if (whichOne) { memberFunctionToCall = [this] (int param) { this->memberFunction1(param); }; } else { memberFunctionToCall = [this] (int param) { this->memberFunction2(param); }; } memberFunctionToCall(42); } }; int main() { MyClass myInstance; myInstance.print(true); myInstance.print(false); std::cout << "\n\nNow easier\n\n"; myInstance.printEasier(true); myInstance.printEasier(false); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue