This documentation is archived and is not being maintained.


Specifies an optional parameter for a member function.


Attribute Context

Applies to Interface parameter
Repeatable No
Required attributes None
Invalid attributes None

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


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);

See Also

IDL Attributes | Parameter Attributes | Attributes Samples