共用方式為


C26101

警告 C26101: 不適當地使用變數 <var> 做連鎖作業。

Windows API 提供了各種連鎖作業。附註 _Interlocked_ 指定一個變數只能透過連鎖作業存取。當存取與 _Interlocked_ 附註不一致時會產生警告C26101。

範例

下列範例會產生警告 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);
}