次の方法で共有


警告 C26101

変数 'var' に対してインターロック操作を正しく使用できません。

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

次の例では、コントラクトに違反しているため、警告 C26101 が生成されます _Interlocked_

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