Unnamed Function Arguments

Unnamed Function Arguments

When an argument of a function is not used anymore in the function body (in an upgrade, for example), it needn’t be removed from the function’s argument list. It can rather become an unnamed argument. The following WriteData function used to support data streaming into various I/O devices, including 5.25″ floppy disk. In its upgraded version, WriteData does not support 5.25″ disk anymore. However, removal of the final argument would force users to change the prototype as well, or otherwise a link-time error would occur. Therefore, the final argument was not removed entirely. Instead, it was unnamed:

 void  WriteData(HardDisk &disk, Floppy3_5& diskette,  floppy5_25& ){/*..*/}

This can be useful in the following cases: when the function’s prototype and its definition are located in separate files and the file containing the prototype can not be changed; when there are enormous occurrences of the prototype in several headers; or when the software is to be shipped to customers as a binary .lib or .obj file, still enabling them to use the old headers.

Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular