次の方法で共有


C26101

警告 C26101: 変数 <var> に対する適切なインタロック操作の使用が失敗します

Windows API は、さまざまなインタロックされた操作を提供します。変数がインタロックされた操作にアクセスしないように注釈 _Interlocked_ を指定します。警告 C26101 がアクセス許可を _Interlocked_ の注釈と一致しない場合に発生します。

使用例

次の例では _Interlocked_ のコントラクト違反があるため C26101 警告を生成します。

CRITICAL_SECTION cs;
typedef struct _DATA 
{
    _Interlocked_ LONG data;
} DATA;

void Safe(DATA* p) 
{
    InterlockedIncrement(&p->data); // OK
}

void Unsafe(DATA* p) 
{
    p->data += 1; // Warning C26101
    EnterCriticalSection(&cs);
    LeaveCriticalSection(&cs);
}