optional (C++)


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

Specifies an optional parameter for a member function.


The optional C++ attribute has the same functionality as the optional MIDL attribute.

The following code shows how optional might be used:

// cpp_attr_ref_optional.cpp  
// compile with: /LD  
#include "unknwn.h"  
[dispinterface, uuid("00000000-0000-0000-0000-000000000001")]  
__interface IFireTabCtrl : IDispatch  
   [id(1)] long procedure ([in, optional] VARIANT i);  

Attribute Context

Applies toInterface parameter
Required attributesNone
Invalid attributesNone

For more information about the attribute contexts, see Attribute Contexts.

IDL Attributes
Parameter Attributes
Attributes Samples