devxlogo

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.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist