• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 798
  • Last Modified:

Omit optional parameter in function call

Hi,

You'd think this was easy to figure out and yet I can't find any information on the net regarding this.  

Here is a function in C++
void Vehicle(int p = 4, int f = 16, int m = 12)

when calling the function, how can you omit one of the parameters? You can omit the last by saying
Vehicle (2, 14);
But how do you omit the first or second?

In VB you'd simply say
Vehicle (,,2) but you can't seem to do that in C++

Thanks
0
Cyber-Storm
Asked:
Cyber-Storm
  • 2
  • 2
3 Solutions
 
AndyAinscowFreelance programmer / ConsultantCommented:
You can't.
The optional parameters only go from right to left, it is not possible to omit one to the left and supply the ones firther to the right.
0
 
AndyAinscowFreelance programmer / ConsultantCommented:
ps.
You can use extra functions to supply the 'missing' parameters

eg.
void VehicleX(int p = 4, int m= 12) { Vehicle(p, 16, m) ; };
0
 
pgnatyukCommented:
I think I understood the question and the answer is no, not in C++.
I'd like to remind you one thing that can be interesting for you:
 

/* vprintf example */ 
#include <stdio.h> 
#include <stdarg.h> 
 
void WriteFormatted (char * format, ...) 
{ 
    va_list args; 
    va_start(args, format); 
    vprintf(format, args); 
    va_end (args); 
} 
 
int main () 
{ 
    WriteFormatted("Call with %d variable argument.\n",1); 
    WriteFormatted ("Call with %d variable %s.\n",2,"arguments"); 
    return 0; 
}

Open in new window

0
 
Cyber-StormAuthor Commented:
Thanks very much guys.  Yes, the overloading is a definate option I need to bear in mind for more intricate functions.

As for the example app, that's very interesting, thanks very much.

I've split the points between you guys based on feedback, I hope it's ok?
0
 
pgnatyukCommented:
Thanks. You welcome
0

Featured Post

[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now