range (C++)
実行時に値が設定される引数またはフィールドについて、許容値の範囲を指定します。
[ range(
low,
high
) ]
パラメータ
low
範囲の下限値。high
範囲の上限値。
解説
C++ 属性 range の機能は、Microsoft インターフェイス定義言語 (MIDL: Microsoft Interface Definition Language) 属性 range と同じです。
使用例
// cpp_attr_ref_range.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];
[object, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]
__interface ICustom {
HRESULT Custom([in] long l, [out, retval] long *pLong);
HRESULT length_is1([in, range(0, 999)] long f, [in, length_is(f)] char array[10]);
HRESULT length_is2([in, range(-99, -1)] long f, [in, length_is("f"), size_is(10)] char *array);
};
必要条件
属性コンテキスト
対象 |
インターフェイス メソッド、インターフェイス パラメータ |
複数回の適用 |
不可 |
必要な属性 |
なし |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。