online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> #include <string> #include <iostream> #include <string> #include <memory> template <typename MyType, typename StringT=std::string, typename... ArgsT, typename = std::enable_if_t<std::is_constructible_v<std::string, StringT>>> std::shared_ptr<MyType> my_function(const StringT& name, ArgsT&&... args) { std::cout << "name: " << name << std::endl; auto t = std::make_shared<MyType>(5); return t; } template <typename MyType, typename Arg1, typename... ArgsT, typename = std::enable_if_t<!std::is_constructible_v<std::string, Arg1>>> std::shared_ptr<MyType> my_function(Arg1&& arg1, ArgsT&&... args) { auto t = my_function<MyType>("default name", std::forward<Arg1>(arg1), std::forward<ArgsT>(args)...); return t; } template <typename MyType> std::shared_ptr<MyType> my_function() { auto t = my_function<MyType>("default name"); return t; } int main() { std::string myvar= "something"; auto ret = my_function<int>("something"); auto ret2 = my_function<int, std::string>(myvar); auto ret3 = my_function<int>(myvar); auto ret4 = my_function<int>(42);// 42 could be anything auto ret5 = my_function<int>(); 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