I created a function like:
void triangle(int n, int start=1, int spcs=0, char dec_y='n', char lf='#',char decf='o') {
    //some code
}
I wanted to know is there any way that I could call this function like this:
triangle(9, dec_y='y', lf='&');
without doing this:
void triangle2(int nn, char d_ec_y, char llf) {
    triangle(nn, 1, 0, d_ec_y, llf, 'o');
}
// then in main simply
triangle2(9, 'y', '&');
                You can't change the order of the parameters. So you can't do what you want directly. You have three options:
For example:
struct params
{
    params(int n_)
     :n(n_)
    {
    }
    int start=1;
    int spcs=0; 
    char dec_y='n';
    char lf='#';
    char decf='o';
};
...
params p(0);
p.dec_y='y';
p.lf='&';
triangle(p);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With